2013-04-10 188 views
4

我是在Xcode中運行腳本的新手,並且無法弄清楚我正在運行的腳本有什麼問題。我遇到的第一個劇本是這樣的:無法在Xcode中運行shell腳本

/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}/" 

這引起我碰到這個錯誤:

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

此錯誤是相當的地步,劇本正在尋找該文件不存在。新版本的Xcode已經擺脫了pbxcp。所以我開始尋找一個很好的替代腳本運行,不會使用pbxcp,當我發現這一點:

/bin/sh -x 

/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}  

這個腳本也引起了我碰到一個問題,這是這樣的:

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

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

我無法找到一個明確的答案是什麼意思這個錯誤,一個論壇上建議,我在我的腳本給該腳本的權限更改目錄使用sudo命令,所以我跑了這一點:

/bin/sh -x 

/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` 
| sudo /usr/bin/tar -x -C ${BUILT_PRODUCTS_DIR}/${FRAMEWORKS_FOLDER_PATH} 

這腳本使我雖然遇到這樣的錯誤:

tar: Write error 
Command /bin/sh failed with exit code 1 
++ find DevToolsCore.framework 
sudo: no tty present and no askpass program specified 
tar: Write error 

這是據我走到這一步,我相當有我有限的shell腳本的知識失去了任何幫助糾正我的腳本或尋找合適的替代包含pbxcp的Xcode框架將不勝感激。

+0

+1你嘗試過 – Undo 2013-04-10 20:50:21

回答

0

更改腳本想要寫入文件的目錄的權限。做在終端的交互式會話:

$ sudo chmod a+w the_directory 

那麼你應該能夠運行腳本(不sudo荷蘭國際集團的tar)。