2009-02-12 5 views
17

Ich habe ein Projekt in Xcode und einige Ressourcen für das Projekt. Die Ressourcen enthalten mehrere symbolische Links. Wenn Xcode das Projekt erstellt, werden die Ressourcen kopiert, die symbolischen Verknüpfungen werden jedoch nicht aufgelöst. Gibt es eine Möglichkeit, Xcode mitzuteilen, dass die Links aufgelöst werden sollen? (Ie. Haben die Link-Ziele anstelle der Links selbst kopiert.)Lösen Sie symbolische Links beim Kopieren von Bundle-Ressourcen in Xcode

Update: Danke, mouviciel, das war fast so. Zuerst versuchte ich es mit der Phase "Dateien kopieren", aber das Programm pbxcp, das von dieser Phase aufgerufen wurde, löste die Verbindungen auch nicht, obwohl es einen Schalter namens -resolve-src-symlinks gibt. Ich beendete eine Run Script Phase ruft so etwas wie dies oben hinzufügen:

rsync -pvtrlL --cvs-exclude \ 
    $PROJECT_DIR/../Resources* \ 
    $BUILT_PRODUCTS_DIR/$CONTENTS_FOLDER_PATH 

Fortunate Nebeneffekt ist, dass ich nicht mehr brauchen die Ressourcen-Gruppe in Xcode auf dem Laufenden zu halten, was auch immer in der Ressourcen-Verzeichnis vorgenommenen Änderungen sind sofort sichtbar.

+0

Haben Sie im Laufe der Zeit eine bessere Lösung gefunden? Ich würde mich freuen, wenn Sie es teilen :) – matm

+0

Nun, nach dem Testen Ihrer Lösung finde ich es elegant und prägnant, danke für die Weitergabe! :) – matm

+0

Das funktioniert perfekt !!! Danke mann! Sie haben mir viele frustrierende Stunden mit Phonegap-Dateien gespart. – Jack

Antwort

7

Eine Lösung könnte darin bestehen, eine Run Script Build Phase einzufügen, die die Kopie genau so ausführt, wie Sie wollen, d. H. Durch Dereferenzierung symbolischer Links (dies ist das Standardverhalten von cp).

Verwandte Themen