Eine Bibliothek, die ich gerade verwendet habe, wurde als .framework in die Distribution verschoben.Verwenden von CMake zum Kopieren von .frameworks in iOS App-Bundle
In meiner vorhandenen CMake-Datei, ich habe bei bekommt es erfolgreich mit meinem iOS-App zu verknüpfen, aber bin immer:
dyld: Library not loaded: @rpath/Pizza.framework/Pizza
Referenced from: /var/mobile/Containers/Bundle/Application/D71ED298-C287-4B2F-8AFA-710A14C06D75/pizzashop.app/pizza
Reason: image not found
, wenn ich es von Xcode installieren. Wenn ich es manuell zu meinem Xcode Projekt hinzufügen, in dem „embedded Binärdateien“ Abschnitt dann gut, ich bin (siehe Bild unten)
So habe ich festgestellt, dass das Problem die .framework sich einlässt Mein App-Paket. Ich bin auf this question gestoßen und habe mir das verlinkte QT-Beispiel angesehen, aber ich versuche mich immer noch hier zu orientieren, da ich die Syntax ein wenig undurchsichtig finde.
Ist CMake's BundleUtilities, was ich hier verwenden möchte? Bei der Betrachtung der BundleUtilities Beispiel bin ich ein wenig verloren:
set(APPS ...) # paths to executables
set(DIRS ...) # directories to search for prerequisites
INSTALL(CODE "
include(BundleUtilities)
fixup_bundle(\"${APPS}\" \"\" \"${DIRS}\")
" COMPONENT Runtime)
Ist das OSX-spezifische oder kann ich es gelten in ähnlicher Weise auf iOS?
Ich habe das gleiche Problem. Soweit ich weiß, sollte FIXUP_BUNDLE dafür ideal sein. Es sieht jedoch nicht so aus, als ob es für iOS-Bundle-Layouts entwickelt wurde. –
@EmilStyrke es war auf meiner TODO-Liste für eine Weile, um die Antwort zu posten, Ihre Schmerzen hat mich angespornt, es in Priorität zu verschieben :) –