Sie können einen Verknüpfungsfehler erhalten. Wenn der Framework-Ordner in der Anwendung enthalten ist, bedeutet dies die Laufzeitverknüpfung.
OS X bettet einen "Installationsnamen" in jede dynamische Bibliothek ein. Dieser Installationsname ist der Pfad zu dem die Bibliothek gefunden werden kann, wenn dyld sie laden muss. Wenn Sie eine Anwendung erstellen, die mit einer dynamischen -Bibliothek verknüpft, wird dieser Installationsname in die Binärdatei der Anwendung kopiert. Wenn die Anwendung ausgeführt wird, wird der Name der kopierten Installation verwendet, um die Bibliothek oder das Framework zu lokalisieren.
$ otool -D /Applications/Google\ Drive.app/Contents/Frameworks/Python.framework/Versions/2.6/Python
/Applications/Google Drive.app/Contents/Frameworks/Python.framework/Versions/2.6/Python:
@executable_path/../Frameworks/Python.framework/Versions/2.6/Python
also, wenn Sie Frameworks löscht Ordner, den Sie Dyld Fehler bekommen.
Dyld Error Message:
Library not loaded: @loader_path/../Frameworks/Sparkle.framework/Versions/A/Sparkle
Referenced from: /Applications/Transmission.app/Contents/MacOS/Transmission
Reason: image not found
Wenn dies ein Job-Interview-Frage war Sie vielleicht Job-Interview Tag hinzuzufügen. Es existiert, wurde aber noch nicht benutzt. Es könnte nützlich sein, wenn bestimmte Fragen als solche markiert werden. (nur eine Meinung) –
@rokjarc Wir verwenden dieses Tag nicht mehr; es ist wirklich nicht relevant für die Programmierung. Stellen Sie Tags als etwas vor, mit dem ein Programmierer experimentieren würde und dem er folgen möchte, um nach weiteren Fragen zu suchen. –
@Annoop siehe meinen Kommentar oben; Ich entferne das Interview-Frage-Tag. –