O comando do linker falhou com o código de saída 1
Em seu package.json, copie aqui a linha referente ao react-native-onesignal, por favor
Estou tendo um problema semelhante:
23 símbolos duplicados para arquitetura arm64
Package.json:
"react-native-onesignal": "^ 3.0.3",
Exclua sua pasta npm-modules.
Então, mude em seu package.json para colocar "react-native-onesignal": "3.0.2",
Execute npm install
E tente construir novamente no Xcode. Avise-me se mudar alguma coisa!
Segui seu conselho e agora estou conseguindo:
Símbolos indefinidos para arquitetura arm64:
"_OBJC_CLASS _ $ _ RCTOneSignal", referenciado de:
objc-class-ref em AppDelegate.o
ld: símbolo (s) não encontrado (s) para arquitetura arm64
clang: erro: o comando do linker falhou com o código de saída 1 (use -v para ver a chamada)
Depois de executar novamente react-native link react-native-onesignal
, estou recebendo uma tonelada de erros:
@Pampounet
Aqui está meu package.json
"reagir": "15.4.2",
"reagir nativo": "0,40,0",
"react-native-android-location-services-dialog-box": "^ 1.2.0",
"react-native-checkbox": "^ 1.1.0",
"react-native-code-push": "^ 1.17.0-beta",
"react-native-country-picker-modal": "^ 0.2.10",
"react-native-drawer": "^ 2.3.0",
"react-native-easy-grid": "0.1.8",
"react-native-fbsdk": "^ 0.5.0",
"react-native-keyboard-aware-scroll-view": "0.2.7",
"react-native-maps": "^ 0.13.0",
"react-native-modalbox": "^ 1.3.9",
"react-native-onesignal": "^ 3.0.3".
Para os dois, você está usando CocoaPods?
Porque, na verdade, o erro inicial ocorre quando você está usando Cocoapods, já que para a versão 3.0.3 do react-native-onesignal, eles pararam de usar os frutos do cacau.
Você estava recebendo o erro duplicado porque tinha a versão cocoapods do onesignal + 3.0.3 do react onesignal nativo que agora integra os mesmos arquivos Sdk (eles estão duplicados).
Ou você permanece na versão 3.0.3 sem cocoapods ou vai para a 3.0.2 usando cocoapods
Para mim, entender isso me permitiu resolver os mesmos problemas ...
@superquest o que você pode fazer é instalar oneSignal usando pods e, em seguida, obter o arquivo de estrutura oneSignal. Em seguida, exclua os pods e vincule manualmente a estrutura do onesignal ao seu projeto, juntamente com o libonesignal. que não mostrará nenhum problema. Eu fiz da mesma maneira. Mas não testei para notificação no celular. Uma vez que farei isso. Vou atualizar aqui.
Tentei fazer o downgrade para 3.0.2 e agora vejo o mesmo que @superquest , captura de tela .
Vou tentar @GeekRishabh mais recente agora ...
Edit: Ainda não consegui funcionar, avisarei quando / se sim ... 😬
Está funcionando! Aqui está o que fizemos:
react-native-onesignal
das dependênciasnode_modules
.<
X >
(estávamos atualizando de cerca de v0.20 de rn para 0,42 😅)@Pampounet - sua solução funcionou para mim.
Tenho outros pods instalados, então aqui está o que fiz para remover o pod OneSignal de forma limpa:
sudo gem install cocoapods-deintegrate
sudo gem install cocoapods-clean
pod deintegrate
pod clean
pod 'OneSignal'
do seu podfilepod install
Como @Pampounet observou, ir para 3.0.3 requer que você remova o OneSignal do Cocoapods, bem como siga as novas instruções de configuração do iOS.
https://github.com/geektimecoil/react-native-onesignal#ios -installation
@GeekRishabh @avishayil Acho que podemos encerrar esse problema agora.
A parte do projeto Running Example do README.md não menciona esta parte, desperdiçou algumas horas nela. Seria útil também atualizar a documentação sobre como executá-lo?
Olá,
Estou passando pelo mesmo problema
ld: 233 duplicate symbols for architecture x86_64
Eu estava compilando com o 3.0.2 e passei para o último 3.2.3, me livrando dos cocoapods conforme explicado neste tópico. Verifiquei novamente todos os arquivos relacionados ao pod e todos eles sumiram. Basicamente, eu obtenho o seguinte para vários arquivos
duplicate symbol _OBJC_METACLASS_$_OSRequestSubmitNotificationOpened in:
/[...]/ios/OneSignal.framework/OneSignal(Requests.o)
/[...]/Library/Developer/Xcode/DerivedData/[AppName]-fmxhrnwitpecshtmi/Build/Products/Debug-iphonesimulator/libRCTOneSignal.a(Requests.o)
Também tentei remover tudo da Biblioteca / ... mas o erro continua aparecendo.
Agradecemos antecipadamente por qualquer ajuda
@grafosecondo, isso significa que de alguma forma o SDK OneSignal nativo está sendo duplicado em seu projeto. Eu sugeriria executar pod deintegrate
, em seguida, seguir o guia de configuração atual para instalar o OneSignal por meio do npm (após a vinculação, você verá um subprojeto RCTOneSignal Xcode).
De alguma forma, OneSignal.framework
ainda está em seu projeto e está causando este problema.
@ Nightsd01
De alguma forma, OneSignal.framework ainda está em seu projeto e está causando esse problema.
isso salvou meu dia, obrigado!
Comentários muito úteis
Para os dois, você está usando CocoaPods?
Porque, na verdade, o erro inicial ocorre quando você está usando Cocoapods, já que para a versão 3.0.3 do react-native-onesignal, eles pararam de usar os frutos do cacau.
Você estava recebendo o erro duplicado porque tinha a versão cocoapods do onesignal + 3.0.3 do react onesignal nativo que agora integra os mesmos arquivos Sdk (eles estão duplicados).
Ou você permanece na versão 3.0.3 sem cocoapods ou vai para a 3.0.2 usando cocoapods
Para mim, entender isso me permitiu resolver os mesmos problemas ...