Quando si include un framework esterno in un progetto XCode, per esempio, GData, anche se compila tutto, può succedere che, una volta eseguita l’applicazione, ci sia un crash con un errore del tipo:
dyld: Library not loaded: @loader_path/../Frameworks/GData.framework/[…]
Referenced from:[path dell’eseguibile]
Reason: image not found
Questo succede perché l’eseguibile, linkato dinamicamente con il framework, non trova la libreria a runtime. Infatti la directory Frameworks non esiste all’interno del bundle dell’eseguibile.
Per creare la directory e copiare al suo interno la libreria, basta aggiungere un “Copy Files Build Phase” (Click destro sul target, poi Add -> New Build Phase -> New Copy Files Build Phase
):
e assicurarsi di selezionare Frameworks come Destination
Ora basta draggare il framework nel passo appena creato
In questo modo, la libreria sarà copiata opportunamente, e non ci saranno sorprese a runtime.