2016-03-28 34 views
0

我有一個項目使用可可豆莢通過shell腳本爲CocoaPods項目設置PRODUCT_NAME

我不能設置PRODUCT_NAMExcodebuild聯編它總是導致編譯時錯誤。

/usr/bin/xcodebuild -scheme $Scheme -workspace $WorkSpaceOfProject -configuration Debug clean build CONFIGURATION_BUILD_DIR=$PathToApp "CODE_SIGN_IDENTITY=$CodeSigningIdentity" "PRODUCT_BUNDLE_IDENTIFIER=$BundleIdentifier" "PROVISIONING_PROFILE=$ProvisioningProfileIdentity" "PRODUCT_NAME =$Appname"

未知:0:錯誤:底層的Objective-C模塊 'APPNAME' 未找到

如果我從上面的腳本刪除PRODUCT_NAME,則編譯成功,但不幸的是我不得不通過腳本設置應用程序名稱

我試圖設置-xcconfig有人建議,它也沒有解決。

所以如何改變應用程序的名稱雖然劇本,但在同一時間編譯可可豆莢應用

如果我使用的項目文件,而不是工作空間其執行沒有任何problem.Here是腳本

編譯

/usr/bin/xcodebuild -target $Target -project $ProjectFilePathAbsolute -configuration Debug clean build CONFIGURATION_BUILD_DIR=$PathToApp "CODE_SIGN_IDENTITY=$CodeSigningIdentity" "PRODUCT_NAME =$Appname" "PRODUCT_BUNDLE_IDENTIFIER=$BundleIdentifier" "PROVISIONING_PROFILE=$ProvisioningProfileIdentity"

但我必須編譯工作區bcuz我正在使用cocoapods。

任何建議,非常歡迎。

+0

腳本如何設置變量* APPNAME *?請注意,詹金斯變量是區分大小寫的。另外,在執行它之前嘗試回顯整個調用,以查看xcodebuild實際獲得的內容。 –

+0

也嘗試使用'$ {}'語法。 –

+0

否否..問題不在於分配變量的值....實際值分配...我更新了我的問題..Plz檢查出來 –

回答

0

我用PlistBuddy解決了上述問題,並在xcodebuild聯編命令我沒有使用PRODUCT_NAME

下面是我用

/usr/libexec/PlistBuddy -c "Set :CFBundleName test" info.plist

/usr/libexec/PlistBuddy -c "Set :CFBundleDisplayName test" info.plist

/usr/bin/xcodebuild -scheme $Scheme -workspace $WorkSpaceOfProject -configuration Debug clean build CONFIGURATION_BUILD_DIR=$PathToApp "CODE_SIGN_IDENTITY=$CodeSigningIdentity" "PRODUCT_BUNDLE_IDENTIFIER=$BundleIdentifier" "PROVISIONING_PROFILE=$ProvisioningProfileIdentity" "PRODUCT_NAME =$Appname"