Hey,
Beim Importieren in ein RN-Projekt (Migration von Parse!) tritt ein Problem auf.
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)
Es sieht https://github.com/geektimecoil/react-native-onesignal/issues/5 sehr ähnlich, obwohl es eine andere Architektur hat.
Ich bin mit ObjectiveC ziemlich unbekannt, helfe aber gerne, wo ich kann und werde PR veröffentlichen, wenn ich bei Bedarf angeleitet werden kann. Hoffentlich kann mir jemand weiterhelfen!
Vielen Dank
Ollie
@olliebrennan hast du es geschafft, dieses Problem zu lösen? Ich durchsuche das Commit für #5, um herauszufinden, was zu tun ist. Ich bin ein JS-Entwickler, kein iOS-Entwickler, daher bin ich mit den verschiedenen Einstellungen nicht vertraut.
Vielleicht kann @jkasten2 hier helfen?
@jamiemchale habe ich nicht. Hatte das gleiche Problem, wie Sie meine App mit Parse verlassen haben, bis ein Fix kommt. Ich helfe gerne, wenn ich kann, aber wie Sie sagten, bin ich auch mit der iOS-Sprache / -Einstellungen nicht vertraut.
@olliebrennan @avishayil
Wenn Sie das OneSignal-Plugin mit Cocoa-Pods installiert haben, verweist es möglicherweise nicht auf das native OneSignal-Framework auf das Hauptprojekt. Sie können OneSignal.framework ablegen und vom Finder zu XCode ziehen, was den Linker-Fehler beheben sollte. Möglicherweise müssen Sie "Bei Bedarf kopieren" auswählen, wenn es ohne nicht funktioniert.
Stellen Sie abschließend sicher, dass Sie Xcode 7.0 oder höher verwenden, da ältere Versionen von Xcode hier zu genau demselben Fehler führen.
Danke @jkasten2
Ich habe in den nächsten Tagen eine Veröffentlichung, werde es dann versuchen und berichten.
Danke schön
+1 mit einem ähnlichen Problem unter 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)
Mir fehlte OneSignal.framework
. Habe versucht, appname/node_modules/react-native-onesignal/ios/Frameworks/OneSignal.framework
in die Bibliotheken von XCode zu ziehen. Funktioniert immer noch nicht.
Habe es auch mit appname/ios/Pods/OneSignal/iOS_SDK/Framework/OneSignal.framework
versucht, hat auch nicht funktioniert.
@olliebrennan Hast du es geschafft, das Problem zu lösen?
Ich hatte genau das gleiche Problem wie @olliebrennan , gelöst durch:
node_modules/react-native-onesignal/ios/Frameworks
in RCTOneSignal.xcodeproj unter dem linken Bedienfeld von XCodeHey @hyperh @olliebrennan hast du das gelöst?
@avishayil Ich konnte das nicht lösen. Ich beschloss, mit apnagent zu gehen, um meine APN-Sachen zu verwalten.
Wenn jemand auf den gleichen Fehler stößt, bitte melden. Ich schließe dieses Thema vorerst.
@avishayil Ich habe dieses Problem. Ich habe versucht, den Anweisungen von @whollacsek zu folgen , aber ich
Gleiches Problem wie @chrissm79 und andere
Ich bin gerade angekommen und ja, das gleiche Problem.
+1
Etwas nachgehen. Irgendwelche Reproduktionsschritte?
Ich habe dieses Problem festgestellt und konnte es beheben, indem ich auf ios/Pods/OneSignal/iOS_SDK/Framework/OneSignal.framework aus dem Finder geklickt und in den Frameworks-Ordner meines XCode-Projekts gezogen habe.
Genau dasselbe Problem wie
Bearbeiten: Gelöst, indem das Framework heruntergeladen und über den dokumentierten Link verknüpft wird, anstatt das Framework im Ordner node_modules zu verwenden.
Sie haben das Beispielprojekt zum Referenzieren und Spielen. Bitte stellen Sie sicher
Sie befolgen alle Bestellungen, es sollten keine Fehler auftreten.
Am 2. Juli 2016 um 00:37 Uhr schrieb "Charles Hulcher" [email protected] :
Genau dasselbe Problem wie https://github.com/chrissm79
—
Sie erhalten dies, weil Sie erwähnt wurden.
Antworten Sie direkt auf diese E-Mail und zeigen Sie sie auf GitHub an
https://github.com/geektimecoil/react-native-onesignal/issues/18#issuecomment -230052711,
oder den Thread stumm schalten
https://github.com/notifications/unsubscribe/AAyekNTkU15t6IP4zvQzg06yXzUf0akHks5qRYiBgaJpZM4IHVBS
.
Ich habe das Problem auch, weiß aber nicht wie ich es lösen soll
ld: Warnung: Ignorieren der Datei /Users/apple/Desktop/Camera/XCTest.framework/XCTest.tbd, fehlende erforderliche Architektur x86_64 in der Datei /Users/apple/Desktop/Camera/XCTest.framework/XCTest.tbd (3 Slices)
Undefinierte Symbole für Architektur x86_64:
"_OBJC_CLASS_$_XCTestCase", referenziert von:
_OBJC_CLASS_$__TtC6Camera11toucanTests in toucanTests.o
"_OBJC_METACLASS_$_XCTestCase", referenziert von:
_OBJC_METACLASS_$__TtC6Camera11toucanTests in toucanTests.o
ld: Symbol(e) für Architektur x86_64 nicht gefunden
clang: error: Linker-Befehl mit Exitcode 1 fehlgeschlagen (verwenden Sie -v, um den Aufruf anzuzeigen)
Ich bin auf React-Native 0.37 und so konnte ich dies zum Laufen bringen (ich denke, die Readmes / Dokumentation sind etwas hinter React Native).
npm install react-native-onesignal --save
ausführenreact-native link
ausführenimport com.geektime.reactnativeonesignal.ReactNativeOneSignalPackage;
und NICHT import com.geektime.rnonesignal.ReactNativeOneSignalPackage;
(einige alte Dokumentationen hatten das rnonesignal und das wurde inzwischen aktualisiert)YMMV, wenn Sie etwas niedriger als v0.37 von RN verwenden. viel Glück.
Problem gelöst!!
Gehen Sie einfach im Projektnavigator zum Abschnitt Pods, suchen Sie das oneSignal.framework und ziehen Sie es in die "Binärdatei mit Bibliotheken verknüpfen" unter Ihrem Ziel und das war's!. Grundsätzlich ist es also besser, nur das Framework und nicht die Pod-Datei zu verwenden.
Gelöst durch manuelle Verlinkung:
https://facebook.github.io/react-native/docs/linking-libraries-ios.html#manual -linking
In meinem Fall musste ich die folgende Zeile in podfile
hinzufügen und pod install
erneut ausführen. Führen Sie dann Clean
und erstellen Sie erneut.
pod 'react-native-onesignal', :path => '../node_modules/react-native-onesignal'
In meinem Fall, als ich ein älteres React Native 0.39.0-Projekt ausführte, musste ich react-native link
, Clean
erstellen und dann Build
das Projekt erneut erstellen.
In meinem Fall fehlte libRCTOneSignal.a in der Link-Bibliothek mit Binärdatei, die ich gerade hinzugefügt habe, und das Problem wurde behoben
Sie können den zweiten Schritt hier verfolgen https://facebook.github.io/react-native/docs/linking-libraries-ios.html#manual -linking
Hilfreichster Kommentar
Ich hatte genau das gleiche Problem wie @olliebrennan , gelöst durch:
node_modules/react-native-onesignal/ios/Frameworks
in RCTOneSignal.xcodeproj unter dem linken Bedienfeld von XCode