Oye,
Me encuentro con un problema al importar esto a un proyecto de RN (¡migrando desde Parse!).
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_OneSignal", referenced from:
objc-class-ref in libRCTOneSignal.a(RCTOneSignal.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Se ve muy similar a https://github.com/geektimecoil/react-native-onesignal/issues/5 aunque con una arquitectura diferente.
No estoy familiarizado con ObjectiveC, pero estoy feliz de ayudar donde pueda y emitiré relaciones públicas si puedo ser guiado según sea necesario. ¡Ojalá alguien pueda ayudarme!
Gracias
Ollie
@olliebrennan, ¿
¿Quizás @ jkasten2 pueda ayudar aquí?
@jamiemchale No lo hice. Tuve el mismo problema que tú, así que dejaste mi aplicación usando Parse hasta que aparezca una solución. Feliz de ayudar si puedo, pero como dijiste, tampoco estoy familiarizado con el idioma / la configuración de iOS.
@olliebrennan @avishayil
Si instaló el complemento OneSignal con Cocoa Pods, es posible que no haga referencia al marco nativo de OneSignal al proyecto principal. Puede soltar y arrastrar OneSignal.framework desde Finder a XCode, lo que debería corregir el error del vinculador. Puede que tenga que seleccionar "Copiar elementos si es necesario" si no funciona sin.
Por último, asegúrese de que está utilizando Xcode 7.0 o superior, ya que las versiones anteriores de Xcode producirán exactamente el mismo error aquí.
Gracias @ jkasten2
Tengo un comunicado que se publicará en los próximos días, luego intentaré esto e informaré.
Salud
+1 tiene un problema similar en OSX
Undefined symbols for architecture armv7:
"_OBJC_CLASS_$_OneSignal", referenced from:
objc-class-ref in libRCTOneSignal.a(RCTOneSignal.o)
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Me faltaba OneSignal.framework
. Intenté arrastrar appname/node_modules/react-native-onesignal/ios/Frameworks/OneSignal.framework
a las bibliotecas de XCode. Sigue sin funcionar.
Intenté appname/ios/Pods/OneSignal/iOS_SDK/Framework/OneSignal.framework
también, pero tampoco funcionó.
@olliebrennan ¿
Tuve exactamente el mismo problema que @olliebrennan , lo resolví de la siguiente manera:
node_modules/react-native-onesignal/ios/Frameworks
a RCTOneSignal.xcodeproj debajo del panel izquierdo de XCodeHola @hyperh @olliebrennan, ¿
@avishayil No
Si alguien encuentra el mismo error, infórmelo. Estoy cerrando este problema por ahora.
@avishayil Tengo este problema. Intenté seguir las instrucciones de
Mismo problema que @ chrissm79 y otros
Acabo de llegar y sí, el mismo problema.
+1
Buscando dentro. ¿Alguna reproducción de pasos?
Experimenté este problema y pude solucionarlo haciendo clic y arrastrando ios / Pods / OneSignal / iOS_SDK / Framework / OneSignal.framework desde Finder a la carpeta Frameworks de mi proyecto XCode.
El mismo problema exacto que @ chrissm79
Editar: resuelto descargando el marco y vinculándolo desde el enlace documentado en lugar de usar el marco en la carpeta node_modules.
Tiene el proyecto de ejemplo para hacer referencia y jugar con él, asegúrese de
estás siguiendo todas las órdenes, no debería ocurrir ningún error.
El 2 de julio de 2016 a las 12:37 a. M., "Charles Hulcher" [email protected] escribió:
El mismo problema exacto que @ chrissm79 https://github.com/chrissm79
-
Recibes esto porque te mencionaron.
Responda a este correo electrónico directamente, véalo en GitHub
https://github.com/geektimecoil/react-native-onesignal/issues/18#issuecomment -230052711,
o silenciar el hilo
https://github.com/notifications/unsubscribe/AAyekNTkU15t6IP4zvQzg06yXzUf0akHks5qRYiBgaJpZM4IHVBS
.
También tengo este problema pero no sé cómo solucionarlo.
ld: advertencia: ignorando el archivo /Users/apple/Desktop/Camera/XCTest.framework/XCTest.tbd, falta la arquitectura requerida x86_64 en el archivo /Users/apple/Desktop/Camera/XCTest.framework/XCTest.tbd (3 cortes)
Símbolos indefinidos para la arquitectura x86_64:
"_OBJC_CLASS _ $ _ XCTestCase", referenciado desde:
_OBJC_CLASS _ $ __ TtC6Camera11toucanTests en toucanTests.o
"_OBJC_METACLASS _ $ _ XCTestCase", referenciado desde:
_OBJC_METACLASS _ $ __ TtC6Camera11toucanTests en toucanTests.o
ld: símbolo (s) no encontrado para la arquitectura x86_64
clang: error: el comando del vinculador falló con el código de salida 1 (use -v para ver la invocación)
Estoy en react-native 0.37 y así es como pude hacer que esto funcione (creo que los archivos Léame / documentación están un poco por detrás de React native).
npm install react-native-onesignal --save
react-native link
import com.geektime.reactnativeonesignal.ReactNativeOneSignalPackage;
y NO import com.geektime.rnonesignal.ReactNativeOneSignalPackage;
(alguna documentación antigua tenía la señal rnonesignal y desde entonces se ha actualizado)YMMV si está utilizando algo inferior a v0.37 de RN. buena suerte.
¡¡Problema resuelto!!
Solo desde el navegador del proyecto, vaya a la sección Pods, busque oneSignal.framework y arrástrelo al 'Link Binary with libraries' ubicado debajo de su objetivo y eso es todo. Entonces, básicamente, es mejor usar el marco en lugar del archivo de pod.
Resuelto por vinculación manual:
https://facebook.github.io/react-native/docs/linking-libraries-ios.html#manual -linking
En mi caso, tuve que agregar la siguiente línea en podfile
y ejecutar pod install
nuevamente. Luego ejecute Clean
y compile de nuevo.
pod 'react-native-onesignal',: ruta => '../node_modules/react-native-onesignal'
En mi caso, al ejecutar un proyecto anterior de React Native 0.39.0, tuve que react-native link
, Clean
build y luego Build
el proyecto nuevamente.
en mi caso, faltaba libRCTOneSignal.a en la biblioteca de enlaces con el binario que acabo de agregar y el problema se resolvió
puede seguir el segundo paso aquí https://facebook.github.io/react-native/docs/linking-libraries-ios.html#manual -linking
Comentario más útil
Tuve exactamente el mismo problema que @olliebrennan , lo resolví de la siguiente manera:
node_modules/react-native-onesignal/ios/Frameworks
a RCTOneSignal.xcodeproj debajo del panel izquierdo de XCode