React-native-onesignal: Arquivo OneSignal / OneSignal.h não encontrado

Criado em 24 jan. 2017  ·  44Comentários  ·  Fonte: OneSignal/react-native-onesignal

Havia um problema já aberto e fechado, mas isso ainda é um problema. Veja o problema 133 .

Meu comentário sobre o assunto descreve o problema.

React Native 0.40.0 OneSignal 3.0

Comentários muito úteis

Fundido, testado e corrigido.

Todos 44 comentários

Então, basicamente, isso significa que a estrutura não é atualizada no módulo, se você optar por não usar CocoaPods. Estou correcto?

Sim, acho que está correto. Não estou usando CocoaPods.

Entendo. O problema atual é que não consigo encontrar nenhuma maneira de fazer a biblioteca reconhecer o framework se estiver fora da biblioteca, por exemplo, no grupo Frameworks no projeto Xcode. Isso torna a biblioteca dependente de uma versão específica da estrutura, em vez de adicioná-la manualmente.

Ei, encontrei um repositório com dicas para você. Fiz meu código funcionar novamente.
https://github.com/eriksape/react-native-onesignal#faq -repeating-issues

@avishayil ,

Eu realmente não estou familiarizado com o objetivo-c, eu realmente gostaria de poder ajudar a resolver o problema.
Pode haver uma atualização da documentação para que as pessoas saibam sobre o problema?

Nesse meio tempo, copiei o diretório OneSignal.framework para meu projeto ios com o diretório "Header" e o arquivo "OneSignal" corretos e alterei os "Framework Search Paths" para apontar para ele.

Terei que ficar de olho nas atualizações, mas isso funciona para mim por enquanto. Obrigado!

@haxtrujillo Também enfrenta esse problema ao não usar o CocoaPods. Qual arquivo de cabeçalho e arquivo OneSignal você alterou para fazer este trabalho por meio de importação direta em vez das instruções LEIA-ME oficiais? Obrigado!

@dguillamot certifique-se de definir os "Caminhos de pesquisa de cabeçalho" e "Caminhos de pesquisa de cabeçalho", copie os arquivos da versão "B" (atual) dois níveis acima.

screen shot 2017-01-25 at 11 13 26 pm

Ainda estou me perguntando como resolver isso sem esse jeito "feio". @ jkasten2 você pode ajudar aqui?

Eu tenho o mesmo problema, além de React / <...>. H não encontrado.
screen shot 2017-01-26 at 2 31 54 pm

screen shot 2017-01-26 at 7 37 18 pm

Eu também tenho o mesmo problema com o React-Native 0.4.0,

Depois de instalar algum plugin (react-native-firestack), de repente isso acontece.

@rustykey @bitsal

Tive que fazer duas coisas diferentes para fazê-lo funcionar:

0 - Eu criei uma subpasta na pasta do meu projeto principal (onde está o arquivo da área de trabalho xcode) chamada / ios / OneSignal

1 - Então, semelhante ao que haxtrujillo disse acima, na pasta node_modules / react-native-onesignal / ios / Frameworks, você pode clicar duas vezes / expandir o arquivo OneSignal.framework. Dentro, há uma subpasta Versões / B. Selecione os arquivos 'Cabeçalhos' e 'OneSignal' lá, copie (CMD-C) e selecione o 'arquivo' OneSignal.framework novamente e cole.

Em seguida, copiei este novo arquivo OneSignal.framework para a pasta / ios / OneSignal que criei acima na etapa 0.

2 - Em seguida, copiei o arquivo node_modules / react-native-onesignal / ios / RCTOneSignal.xcodeproj e a pasta RCTOneSignal para a pasta ios / OneSignal que criei na etapa 0.

Em seguida, no Xcode, adicionei o arquivo OneSignal.Framework à pasta Frameworks do meu espaço de trabalho xcode e adicionei o RCTOneSignal.xcodeproj à pasta Bibliotecas. Então, selecionei o arquivo xcodeproj na minha pasta Bibliotecas no xcode. Verificando se o destino era RCTOneSignal, fui para BuildSettings e mudei o Framework Search Paths para '$ (PROJECT_DIR) / OneSignal'. Dessa forma, ele poderia encontrar o novo OneSignal.framework que fiz. Eu também alterei os Caminhos de pesquisa de cabeçalho na mesma área Configurações de construção para ter certeza de que estava pegando o React. No meu caso, foi mais fácil fazer em relação a PROJECT_DIR como '$ (PROJECT_DIR) /../ node_modules / react-native / React'

Após essas mudanças, tudo está agora na minha pasta ios / OneSignal e eu realmente não preciso da pasta node_modules. Ainda estou usando, no entanto, para Android. Mas se você for apenas ios, você não precisa da pasta node_module, pois esta solução alternativa basicamente fez uma cópia local.

Esta definitivamente não é uma boa solução a longo prazo e deve ser desfeita assim que o autor atualizar este pacote. É apenas um atalho no módulo de nó, copiando o projeto para que você possa alterar as configurações de compilação. Depois que o módulo de nó for modificado para corrigir esse problema, essas alterações devem ser desfeitas.

Obrigado @dguillamot !

Eu fiz de uma maneira um pouco diferente, mas o sentido é o mesmo, eu acho
package.json :

"scripts": {
     ...
    "fix-onesignal-ios-issue-161": "cd node_modules/react-native-onesignal/ios/Frameworks/OneSignal.framework && cp -R Versions/B/* . && cd ../../../../..",
    "run-ios": "npm run fix-onesignal-ios-issue-161 && echo '.env.local' > /tmp/envfile && react-native run-ios",
     ...
}

PS:
@avishayil
Notei em Caminhos de pesquisa de cabeçalho do projeto RCTOneSignal uma linha como esta "$(SRCROOT)/../../../ios/Pods/Headers/Public/OneSignal" .
Parece que a biblioteca exige que eu tenha as pastas node_modules e ios no mesmo nível. Em alguns casos (quando a estrutura do projeto é um pouco diferente) não funcionará porque não há pasta $(SRCROOT)/../../../ios .

PS 2:
Além disso, tive um problema como React/RCT<...>.h file not found . Eu consertei criando o React primeiro a partir do XCode (consulte https://github.com/facebook/react-native/issues/12042#issuecomment-275025960).

react-native run-ios ainda não funciona (, somente do XCode.

Não existe uma pasta Versions/B desde a versão 2.1.5 do iOS OneSignal SDK nativo. Você pode verificar se está puxando o OneSignal.framework mais recente? Atualmente 2.3.5 é o mais recente.

@ jkasten2 certo, 2.3.5 versão agora
Tenho certeza porque muitas vezes corro

rm -rf node_modules/react*
rm -rf ios/build/* && rm -rf ios/Pods/*
rm -rf ~/Library/Developer/Xcode/DerivedData/*

POR FALAR NISSO,

react-native-cli: 2.0.1
react-native: 0.40.0

Podfile:

pod 'OneSignal', '~> 2.0'

mas na verdade ele instala 2.3.5 , vejo isso na saída do console

@ jkasten2 ,
Estou usando o React Native 0.40.0, OneSignal 3.0 e nenhum CocoaPods.

@ jkasten2
Você está certo. Não há pasta Versions/B em ios/Pods/OneSignal/iOS_SDK/Framework/OneSignal.framework/Versions/ :

Current -> A

mas Versions/B ainda está aqui node_modules/react-native-onesignal/ios/Frameworks/OneSignal.framework/Versions/

package.json
"react-native-onesignal": "3.0.0",

O problema parece estar faltando links simbólicos da tag de lançamento 3.0.0.

@avishayil Percebi que a tag v3.0.0 está faltando, mas o mestre está com eles.
https://github.com/geektimecoil/react-native-onesignal/tree/v3.0.0/ios/Frameworks/OneSignal.framework
https://github.com/geektimecoil/react-native-onesignal/tree/master/ios/Frameworks/OneSignal.framework

O repositório iOS SDK nativo também tem links simbólicos aqui.
https://github.com/OneSignal/OneSignal-iOS-SDK/tree/2.3.5/iOS_SDK/Framework/OneSignal.framework

Você pode lançar uma atualização com esses arquivos ausentes?

@ jkasten2 Aí está, neste projeto na filial examples :
https://github.com/geektimecoil/react-native-onesignal/tree/examples/examples/RNOneSignalFramework

Tente construir este projeto, ele diz que está faltando os arquivos de cabeçalho.

@avishayil Fiz um novo clone e seguindo as instruções abaixo, mas não .h problema ausente.
https://github.com/geektimecoil/react-native-onesignal#running -example-project

Nota: as instruções devem ser cd OneSignalRN vez de cd OneSignalRNExample .

Executei o projeto a partir do terminal conforme as instruções observadas e compilado a partir do Xcode diretamente abrindo o arquivo RNOneSignal.xcworkspace .

Olá @ jkasten2 , sem problemas ao construir um projeto com CocoaPods. O problema é ao tentar construir um projeto com a estrutura sem CocoaPods.

Eu mencionei isso antes, me perdoe se esta é uma duplicata, mas: Um dos problemas é que o arquivo de cabeçalho OneSignal.h ESTÁ no repositório, mas eles não estão em uma pasta chamada "OneSignal" que é como eles estão referenciado.

@avishayil ainda é o problema sem cacau ?, desculpe por não perceber, deixe-me ver galera e

@eriksape sim

@avishayil Não sei o que aconteceu, meu método de inserção ainda está Ok, pois vejo que os pods de cacau fazem a mesma coisa, mas automaticamente e baixando muitos pacotes com a última versão do OneSignal-iOS-SDK como dito por @ jkasten2 é o 2.3.5, sabe que você desatualizou a versão do sdk agora?

Pessoal, tenho o problema de cabeçalho ao usar v2 e Cocoapods: / Alguma dica sobre o porquê? Devo criar um problema dedicado?

Vou dar uma olhada na v2 esta semana.

Estou no RN40 e OneSignal3.0, usando o Framework e ainda recebendo "OneSignal / OneSignal.h não encontrado". Meus caminhos de cabeçalho / estrutura estão definidos corretamente, a biblioteca foi vinculada ao link react-native, portanto, não vejo nenhum problema em relação à configuração.

Eu tive o mesmo com Cocoapods.

Eu estava tendo esse erro para v3.0.0 e reagir nativo 0,41. Eu comecei a construir executando o link react-native.

Correção: ainda obtendo um erro de compilação :(

Vocês estão usando CocoaPods?

@avishayil Não, não estou usando Cocoapods e não vou usá-lo. Acabei de receber suas alterações mais recentes no 3.0.2 e ainda não está compilando. Alguma atualização sobre como consertar isso?

@larryranches Isso ainda é algo que estou analisando junto com a equipe do OneSignal. @ jkasten2 e irei atualizar quando tivermos uma solução para isso.

@avishayil Obrigado por investigar isso! Seria bom fazer isso funcionar, pois temos que atualizar para o React Native 0.41 mais recente. Informe-nos assim que houver uma solução.

Mesmo problema ao executar com Xcode. O aplicativo começa com node node_modules/react-native/local-cli/cli.js run-ios mas travou porque RNOneSignal é undefined .

@avishayil Tentei usar Coca e o Framework, mesmo resultado.

@ edo1493 você pode compartilhar um

Essa solicitação de pull funcionou para mim ✌️:
https://github.com/geektimecoil/react-native-onesignal/pull/184

Interessante, como você o construiu? Do zero ou para um projeto existente?

@avishayil em um projeto existente (com o problema descrito aqui) e seguiu o README atualizado em https://github.com/jkasten2/react-native-onesignal.
(Tive que remover o Podfile e arquivos relacionados)

PR # 184 também funciona para mim

Fundido, testado e corrigido.

Eu fiz todas as coisas que ainda não foram encontradas :(

Eu também tenho esse erro com Cacaopods ... RN 0.50 e react-native-oneignal ^ 3.0.5

alguém consertar esse bug? estou enfrentando em RN 0,51 e reagir-nativo-sinal ^ 3.0.5

Reinstalar um sinal do zero me ajudou a corrigir esse problema.

Esta página foi útil?
0 / 5 - 0 avaliações