React-native-onesignal: símbolo (s) no encontrado para la arquitectura x86_64

Creado en 14 abr. 2016  ·  25Comentarios  ·  Fuente: OneSignal/react-native-onesignal

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

Comentario más útil

Tuve exactamente el mismo problema que @olliebrennan , lo resolví de la siguiente manera:

  1. arrastre la carpeta node_modules/react-native-onesignal/ios/Frameworks a RCTOneSignal.xcodeproj debajo del panel izquierdo de XCode
  2. una vez en el panel izquierdo, arrastre OneSignal.framework a Link Binary with Libraries

Todos 25 comentarios

@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.

image

image

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:

  1. arrastre la carpeta node_modules/react-native-onesignal/ios/Frameworks a RCTOneSignal.xcodeproj debajo del panel izquierdo de XCode
  2. una vez en el panel izquierdo, arrastre OneSignal.framework a Link Binary with Libraries

Hola @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

screenshot 2016-06-03 15 40 31

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).

  1. en una rama limpia sin ninguna de las señales de trabajo ...
  2. ejecutar npm install react-native-onesignal --save
  3. ejecutar react-native link
  4. para iOS siga las instrucciones del archivo pod (asegúrese de seguir cuidadosamente la nota de la versión nativa de reacción)
  5. para iOS siga las adiciones de código en las instrucciones
  6. para Android, siga las instrucciones de Android (la mayor parte del código debería estar allí desde el comando de enlace, pero vuelva a verificar todo)
  7. para Android, asegúrese de usar 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)
  8. luego complete la configuración y la instalación y todos los archivos
  9. Con suerte, eso le soluciona el problema ... responda si tiene algún problema, ya que pasé un tiempo tanto en Android como en iOS en algunas ramas para que esto funcione.

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.

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

¿Fue útil esta página
0 / 5 - 0 calificaciones