Zuvor konnte ich mein Unity-Ausgabe-Xcode-Projekt problemlos erstellen und ausführen. Aber jetzt, da Apple 64-Bit-Unterstützung für iOS-Apps benötigt, muss ich folgende Änderungen in Unity vornehmen:
%Vor% Das Problem ist jetzt, dass ich mein Xcode-Projekt auf meinem Gerät nicht erfolgreich erstellen und ausführen kann. Ich bekomme diese Apple Mach-O linker error
, die ich vorher nicht bekommen habe.
Hier ist der Fehler, den ich von Xcode bekommen habe:
%Vor% Nach was ich beobachtet habe, scheint etwas mit dem VungleSDK
Standort zu sein? Was mir fremd ist, weil ich außer dem oben erwähnten keine Änderungen vorgenommen habe.
Kann jemand dieses Problem beheben?
Auch Randbemerkung: Wird beim Kompilieren von IL2CPP
und Universal
Architecture eine langsame Kompilierzeit festgestellt? Ich habe meine Xcode Build bereits 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 weniger als 10 Sekunden, bevor ich zu IL2CPP und Universal
UPDATE: Ich muss erwähnen, dass ich Chartboost
, AdColony
und Vungle
in meiner App verwende. Ich habe etwas experimentiert und herausgefunden, dass das Entfernen der -ObjC
und -fobjc-arc
Linkerflags von 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 bekommen habe, war immer noch da, aber sie hat trotzdem kompiliert und läuft erfolgreich und alle Funktionen von Chartboost
und Vungle
haben in meiner App voll funktioniert.
Ich hatte diese Linker-Flags an erster Stelle, weil das AdColony
SDK sie benötigt. Durch das Entfernen von AdColony hörte die Funktion in meiner App auf. Also ist es auch keine saubere Lösung.
Dies führt mich dazu, zwei Dinge zu glauben: Das AdColony
unity-Plugin hat möglicherweise Probleme bei der Unterstützung der Universal / ARM64-Architektur ODER das -ObjC
-Linker-Flag ist nicht kompatibel zum Aufbau einer Universal / ARM64-Architektur.
Ich würde mich freuen, wenn jemand dieses verwirrende Thema beleuchten könnte.
Danke
Ich denke, Sie haben mehrere importierte Vungle SDKs in Ihrem Projekt referenziert. Alles, was Sie tun müssen, ist einen von ihnen zu entfernen. Wenn du denkst, dass einer von ihnen älter ist und der andere neuer ist und nicht welcher ist, dann entferne sie beide und importiere dann das neueste Vungle SDK neu.
Außerdem habe ich ein anderes Problem in den von Ihnen geposteten Protokollen gefunden.
%Vor%Dieser Pfad zu Ihrem Vungle SDK scheint in "" (invertierte Kommas) in Ihren "FrameWork Search Paths" eingeschlossen zu sein. Überprüfen Sie Ihren Pfad, der wie im Referenzbild unten aussehen sollte.
Beachten Sie, dass der Pfad $(SRCROOT)/../../Assets/Editor/Vungle/VungleSDK
nicht in "" (Anführungszeichen) eingeschlossen ist.
Update 1 Die meisten dieser Probleme treten auf, wenn der Pfad in Ihrem Framework-Suchpfad nicht korrekt eingegeben wurde. In meinem Fall hatte ich mehrere Plugins und musste nicht nur die Framework Search Paths, sondern auch die Header Search Paths und Library Search Paths überprüfen. Ich hatte auch "" in meinen Bibliothekssuchpfaden und entfernte sie ebenfalls (sei vorsichtig beim Entfernen von "" - eine falsche Entfernung und du musst ein neues xcode-Projekt erstellen). Ich habe meine anderen Suchpfade Bilder beigefügt
Header Suchpfade
Bibliothekssuchpfade
Ich schätze, Sie können das Problem warning: directory not found for option
beheben, indem Sie Search Paths
Ihrer SDKs als Recursive
machen.