Posts

September 10, 2010

Tip - Includere un framework in un progetto XCode

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 delleseguibile]
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):

ima1

e assicurarsi di selezionare Frameworks come Destination

ima2

Ora basta draggare il framework nel passo appena creato

ima3

In questo modo, la libreria sarà copiata opportunamente, e non ci saranno sorprese a runtime.