Zuvor konnte ich mein Unity-Ausgabe-Xcode-Projekt ohne Probleme erstellen und ausführen. Aber jetzt, dass Apple 64-Bit-Unterstützung für iOS-Apps erfordert, bin ich gezwungen, die folgenden Änderungen in der Einheit zu tun:Wenn -ObjC-Linker-Flag im Universal Architecture-Projekt einen Mach-O Linker-Fehler verursacht?
Build settings -> Player settings -> Other settings -> Scripting backend -> IL2CPP
Build settings -> Player settings -> Other settings -> Architecture -> Universal
Das Problem ist jetzt, dass ich nicht erfolgreich aufbauen und mein Xcode-Projekt auf meinem Gerät funktionieren. Ich bekomme diese Apple Mach-O linker error
, die ich vorher nicht bekommen habe.
Hier ist der Fehler, die ich von Xcode bekam:
ld: warning: directory not found for option '-F-F/Users/user/Desktop/qwer/Frameworks/Plugins/IOS'
ld: warning: directory not found for option '-F"/Users/user/Desktop/qwer/../../Documents/Unity Projects/Unity 5.0.0 projects/MyGame/Assets/Editor/Vungle/VungleSDK"'
duplicate symbol l082 in:
/Users/user/Documents/Unity Projects/Unity 5.0.0 projects/MyGame/Assets/Editor/Vungle/VungleSDK/VungleSDK.framework/VungleSDK(FMDatabase.o)
/Users/user/Documents/Unity Projects/Unity 5.0.0 projects/MyGame/Assets/Editor/Vungle/VungleSDK/VungleSDK.framework/VungleSDK(VungleAdViewController.o)
duplicate symbol l084 in:
/Users/user/Documents/Unity Projects/Unity 5.0.0 projects/MyGame/Assets/Editor/Vungle/VungleSDK/VungleSDK.framework/VungleSDK(VungleVideoPlayer.o)
/Users/user/Documents/Unity Projects/Unity 5.0.0 projects/MyGame/Assets/Editor/Vungle/VungleSDK/VungleSDK.framework/VungleSDK(VungleAdViewController.o)
ld: 2 duplicate symbols for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Von dem, was ich beobachtet habe, scheint mit der VungleSDK
Lage, etwas zu sein? Was mir fremd ist, weil ich außer dem oben erwähnten keine Änderungen vorgenommen habe.
Kann jemand dieses Problem beheben?
Auch Randnotiz: Ist jemand langsam kompilieren Zeit beim Wechsel zu IL2CPP
und Universal
Architektur? Ich habe bereits meinen Xcode Build auf Release
umgestellt (wie jemand online vorgeschlagen hat) und es ist immer noch so. Es dauert sehr lange, bis mein Code kompiliert ist. Es dauerte nur wie weniger als 10 Sekunden, bevor ich zu IL2CPP und Universal geschaltet
UPDATE: Ich muss erwähnen, dass ich mit Chartboost
, AdColony
und Vungle
in meiner app. Ich habe etwas experimentiert und herausgefunden, dass das Entfernen der -ObjC
und -fobjc-arc
Linker-Flags aus meinem Xcode-Projekt den Mach-O-Linker-Fehler behoben hat und ich in der Lage bin, wieder erfolgreich zu bauen und zu laufen. Die warning: directory not found for option
, die ich bekam, war immer noch dort, aber es kompilierte noch und lief erfolgreich und alle Funktionen von und Vungle
arbeiteten vollständig in meiner APP.
Ich hatte diese Linker-Flags an erster Stelle, weil das SDK AdColony
erfordert sie. Aber das Entfernen von AdColony hörte auf, in meiner App zu funktionieren. Also ist es auch keine saubere Lösung.
Dies führt mich entweder 2 Dinge zu glauben: die AdColony
Einheit Plugin Probleme mit Unterstützung Universal-/ARM64 Architektur oder den -ObjC
Linker-Flag kompatibel ist nicht für den Bau von Universal/ARM64-Architektur hat.
Ich würde mich freuen, wenn jemand dieses verwirrende Problem beleuchten kann.
Dank
Es scheint, als ob einige Symbole in der Vungle SDK dupliziert sind. Stellen Sie sicher, dass Sie eine SDK verwenden, die 64 Bit unterstützt, was wie Sie aussieht, und versuchen Sie, das Projekt zu bereinigen und dann einen neuen Build zu erstellen. –
@ hades2510 Danke für den Kommentar. Ich habe das Projekt überarbeitet und erneut kompiliert, aber ich erhalte denselben Fehler. Obwohl ich nicht ganz sicher bin, ob das neueste VungleSDK 64Bits unterstützt. Aber ohne "Ignorieren" Kommentare zu dem Fehler, ich denke, es unterstützt 64. – aresz
Wie Sie die duplizierten Symbole zu beheben? – aresz