Recebendo este erro ao construir um aplicativo iOS nativo reactivo no xcode.
Começou a receber este erro após npm install e rpm vincular a biblioteca react -native-fs Mas depois de pesquisar online por uma solução, percebi que muitas pessoas estão recebendo o mesmo erro ao instalar outras bibliotecas nativas react.
Uma possível solução sugerida por muitos é adicionar o seguinte em "Build Settings" -> "Header Search Paths".
$(SRCROOT)/../node_modules/react-native/React
- (Recursivo)
Mas sem sorte com esta solução, ainda obtendo o mesmo erro
react-native-webrtc
Respostas:
No meu caso, esse problema específico aconteceu quando eu estava tentando arquivar um aplicativo nativo de reação 0.40+ para iOS (a solução foi encontrada aqui: A construção confiável
^0.39.2
falha ao atualizar para^0.40.0
).O que aconteceu foi que o Xcode estava tentando construir as bibliotecas react-nativas em paralelo e estava construindo bibliotecas com dependências react implícitas antes de construir a biblioteca react.
A solução no meu caso foi:
Desative as compilações paralelas:
Adicione o react como uma dependência do projeto
fonte
Certifique-se de desativar
Parallelise Build
e adicionarReact
alvo acima de seu alvofonte
QUICK FIX (não é o melhor)
Altere as linhas de cabeçalho import react-native:
Para:
Aqui está um exemplo de alterações que tive de fazer na biblioteca que estava tentando usar: Closes # 46 - arquivo 'RCTBridgeModule.h' não encontrado .
fonte
#import <React/RCT...h>
? comprometa-se aqui#import "RCTBridgeModule.h"
realmente funcionou melhor para mim hoje.mudança
para
fonte
Para visualizadores que obtiveram este erro após atualizar o React Native para 0.40+, pode ser necessário executar
react-native upgrade
na linha de comando.fonte
Se
Libraries/React.xcodeproj
estiverem vermelhos no xcode, então reinstale node_modulesMeu projeto recém-criado do react-native 0.46.3 era vermelho: SI tem npm 5.3.0 e yarn 0.24.5 quando eu fiz o init react-native
fonte
Versões mais recentes de bibliotecas react-nativas, conforme explicado em postagens anteriores, e aqui apresentam alterações de compatibilidade importantes. Se você ainda não planeja atualizar para react-native-fs, pode forçar a instalação da versão anterior da biblioteca, por exemplo, com react-native-fs:
fonte
Consegui construir um debug, mas não consegui construir um arquivo.
React.xcodeproj
Resolvi esse problema arrastando encontrado em / node_modules / react-native / React para meu diretório raiz no Xcode e, em seguida, adicionando React como uma dependência de destino nas fases de compilação> dependências de destino.fonte
React.xcodeproj
dentro/node_modules/react-native/React
.react-native run-ios
, recebo erros de compilação que não acontecem no Xcode. A completa falta de documentação relevante é frustrante.Após o React Native 0.60, esse problema geralmente é causado por uma biblioteca vinculada combinada com o novo recurso de 'vinculação automática'. Isso corrige para mim
Desvincular biblioteca antiga usando
Atualizar integração de pods inteiramente usando
Agora recarregue seu espaço de trabalho e faça uma construção limpa.
fonte
Este erro apareceu para mim depois que executei o
pod install
comando para as novas dependências. Junto com eles, o React também foi instalado. Portanto, provavelmente o Xcode foi confundido com o caminho. Removi essas linhas do PodFile e o erro desapareceu. Observe que aqueles removidos daqui já estavam vinculados no Xcode.fonte
Para mim, esse erro ocorreu quando adicionei um novo esquema / destino ( app.staging ) no aplicativo e instalei pods usando a instalação de pod.
Esse problema está ocorrendo porque os pods não são compartilhados para todos os destinos. Portanto, preciso adicionar o destino recém-adicionado ( app.staging ) dentro do Podfile .
Aqui está meu Podfile.
fonte
Recebo esse erro em qualquer novo módulo que eu criar com o módulo create-react-native-module . Nenhuma das soluções postadas funcionou para mim.
O que funcionou para mim foi primeiro certificar-se de executar
yarn
na pasta de módulo recém-criada para criarnode_modules/
(esta etapa é provavelmente óbvia). Então, em XCode, selecione Produto -> Esquema -> React em vez da seleção padrão de MyModuleName.fonte
pod install
. create-react-native-module não parece fazer isso para você. Me desligou por um tempo. Mas isso funcionou para mim depois que criei um podfile válido e executei a instalação.Vá para a pasta iOS em seu projeto e instale o pod -
Se você estiver recebendo algum erro na instalação do comando pod type-
O resultado deve ser - /Applications/Xcode.app/Contents/Developer
Se o caminho estiver incorreto, abra seu projeto iOS no Xcode e vá para: Xcode-> preferências-> ferramentas de linha de comando-> selecione Xcode
E instale novamente o pod, seu problema será corrigido.
fonte
A sugestão de anhdevit em https://github.com/facebook/react-native/issues/24363#issuecomment-488547280 funcionou para mim:
In your terminal, run: defaults delete com.apple.dt.Xcode
fonte
Se você quiser fazer isso a partir de seu editor, abra também SMobile.xcscheme
E mudar
parallelizeBuildables = "NO"
fonte
Para mim não funcionou nenhuma das soluções acima e abaixo está o que funcionou (eu já tinha verificado
Parallelize Build
e adicionadoReact
)fonte
Eu encontrei esse problema durante a atualização de 0.58.4 para a nova versão reac-nativa 0.60.4. Nada do que encontrei na internet me ajudou, mas consegui fazer funcionar:
Vá para as configurações de construção, procure por 'Caminhos de pesquisa de cabeçalho', selecione a entrada e pressione o botão DELETE.
Substituí esses valores e parece que eles voltaram aos padrões após a exclusão. Também o Cocoapods estava reclamando disso com mensagens no Terminal depois de
pod install
:fonte
Encontrei esse problema depois de fazer um manual
react-native link
de uma dependência que não suportava link automático em RN 0.59+A solução foi selecionar o arquivo xcodeproj na pasta Bibliotecas no Xcode e, em seguida, em Build Settings, alterar Header Search Paths para adicionar estes dois (recursivos):
fonte
Se você deseja manter o Parallelise Build habilitado e evitar os problemas de cabeçalho ausentes, forneça uma etapa de pré-construção em seu esquema para colocar os cabeçalhos de reação na área de dados derivados. Observe que as configurações de compilação vêm do projeto React neste caso. Sim, não é uma coisa bonita, mas faz o trabalho e também economiza muito tempo das construções. A saída da etapa de pré-construção termina em prebuild.log. Os cabeçalhos exatos que você precisará copiar dependerão das dependências nativas da reação do seu projeto, mas você entenderá isso.
Obtenha o diretório de dados derivados das variáveis de ambiente e copie os cabeçalhos de reação necessários.
O script é invocado durante uma limpeza de construção - o que não é o ideal. No meu caso, há uma variável env que muda, permitindo que eu saia do script mais cedo durante uma limpeza.
fonte
Você só precisa instalar o pod, se o arquivo pod existir, basta digitar
se não: então primeiro,
então,
no terminal. e você está pronto para ir.
fonte
O que você pode fazer para acertar é:
1)
npm uninstall reat-native-fs
para desinstalar a biblioteca2)
npm unlink react-native-fs
para desvincular a bibliotecaAgora a biblioteca foi removida com sucesso e agora instale a lib novamente em seu projeto e desta vez vincule tudo manualmente. Às vezes, a vinculação automática causa esse erro.
fonte