Meine Mac OS-Anwendung ist mit einem nicht systemeigenen Framework Foo.framework verknüpft. Ich habe einen Verweis auf das Framework in XCode hinzugefügt und die App baut gut auf. Ich habe auch eine Regel, die das Framework in den Ausgabe-Frameworks-Ordner kopiert (MyApp.app/Contents/Frameworks). Zur Laufzeit sucht die Binärdatei jedoch nach dem Framework in ~/Library/Frameworks und die App kann nicht geladen werden.OSX: Ändern des Pfades von .framework
otool -l MyApp.app sagt mir auch, dass es nach dem Framework in/Users // Library/Frameworks sucht.
Kann jemand erklären, warum dies passiert, und was ist der richtige Weg, um die App im Frameworks-Ordner des Anwendungspakets aussehen zu lassen?
Meine hacky Problemumgehung ist, ein benutzerdefiniertes Skript aufzunehmen, um den Pfad in der Mach-O-Binärdatei mit install_name_tool zu ändern, aber ich bin mir sicher, dass es eine saubere Methode dafür gibt.
Ok ja - genau das habe ich gemacht. Es fühlt sich gebrochen an. Ich würde mir vorstellen, dass Apple etwas zu XCode hinzufügen könnte, was es Entwicklern ermöglicht, den Laufzeitpfad festzulegen, wenn sie ein neues Framework angeben, mit dem verlinkt werden soll. – psychotik