2013-04-08 8 views
6

Ho modificato questo codice open source con Xcode 3.0 ma non appena ho aggiornato il mio Xcode a 4.0+ e ho provato a eseguirlo, non funzionava più. Il primo errore mi sono imbattuto in stato questoPBXCP: Nessun file o directory di questo tipo, nel più recente xcode

/Users/newperson/Library/Developer/Xcode/DerivedData/Hellcraft-etesgjzdmfzimlgvakidckjecgij/Build  
/Intermediates/Hellcraft.build/Debug-iphonesimulator/Doom.build/Script- 
435F41A90F532CA300887552.sh: line 3: /Applications/Xcode.app/Contents/Developer/Libra/PrivateFrameworks  
/DevToolsCore.framework/Resources/pbxcp: No such file or directory 

ho pensato che avesse qualcosa a che fare con lo script Run sotto fasi di creazione, che è impostato come questo:

/bin/sh -x 

PBXCP=${DEVELOPER_DIR}/Library/PrivateFrameworks/DevToolsCore.framework/Resources/pbxcp 
${PBXCP} -exclude .svn "${PROJECT_DIR}/../../base" 
"${BUILT_PRODUCTS_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/" 

Ma dopo aver guardato on-line e la modifica del script di shell innumerevoli volte non sono stato in grado di trovare una soluzione. Ho trovato da qualche parte che pbxcp è stato rimosso nelle versioni più recenti di Xcode, ma non riesco a trovare un sostituto adatto e non sono in grado di incorporare quel DevToolsCore nella nuova versione di Xcode.

Dopo aver trovato un forum che ha detto che dovevo eseguire uno script alternativa al fine di make-up per il file pbxcp mancante Ho provato l'esecuzione di questo:

/usr/bin/tar -c -C "${PROJECT_DIR}/myframeworks" --exclude .DS_Store --exclude CVS --exclude 
.svn --exclude .git -H `cd "${PROJECT_DIR}/myframeworks" && find DevToolsCore.framework` | 
/usr/bin/tar -x -C ${BUILT_PRODUCTS_DIR}/${FRAMEWORKS_FOLDER_PATH} 

ho creato un file chiamato myframeworks nella directory del progetto e ha aggiunto DevToolsCore .framework ad esso, anche se questo ha risolto il problema pbxcp mancante ha generato un altro errore:

tar: could not chdir to '/Users/newperson/Library/Developer/Xcode/DerivedData/Hellcraft- 
etesgjzdmfzimlgvakidckjecgij/Build/Products/Debug-iphonesimulator/Doom.app/Frameworks' 

tar: Write error 
Command /bin/sh failed with exit code 1 

Se qualcuno ha qualche consiglio sarebbe grande, sto tirando fuori i miei capelli.

+3

Controlla la tua app 'Target's-> Build Phase -> Copia Bundle Resources' una volta se ci sono file mancanti o in rosso, rimuovi/aggiungi e prova a compilare di nuovo. – Bala

risposta

0

Vedere duplicate e here. Il thread indica che pbxcp è stato rimosso in Xcode 4.4 e poiché era uno strumento interno Xcode non esiste una sostituzione ufficiale, ma il thread offre una sostituzione se si scorre verso il basso utilizzando e find.

+0

Ho anche trovato quel thread e ho provato a modificare le dichiarazioni tar/find in esso. Ho creato un file nella mia directory di progetto chiamato myframeworks e aggiunto un file devtoolscore che ho trovato online. poi ho eseguito questo script: /usr/bin/tar -c -C "$ {PROJECT_DIR}/myframeworks" --exclude .DS_Store --exclude CVS --exclude .svn --exclude .git -H 'cd" $ {PROJECT_DIR}/myframeworks "&& find DevToolsCore.framework' |/Usr/bin/tar -x -C $ {} BUILT_PRODUCTS_DIR/$ {} FRAMEWORKS_FOLDER_PATH Correva la sceneggiatura per un po ', ma poi corse in questo errore: tar: non poteva chdir tar: Errore di scrittura comando/bin/sh non riuscito con il codice di uscita 1 –

+3

aggiorna la tua domanda con il tuo miglior tentativo di risolvere il tuo problema, in modo che i lettori non debbano cercare di capire sia il problema sopra, sia questa aggiunta difficile da leggere qui. In bocca al lupo. – shellter

+1

Grazie per il consiglio, ho aggiornato la domanda originale. –

1

Probabilmente avresti cancellato qualche elemento dal tuo Xcode. Avevo anche questo errore PBXc, tutto ciò che ho fatto è stato di aggiungere di nuovo lo stesso file e di eliminare quell'errore.

Problemi correlati