[英]Xcode - command line build
我一直在創建一個shell腳本,它將使我可以從我的工作項目中存檔和提取ipa文件。
#!/bin/sh
cd `dirname $0`
xcodebuild -scheme appName clean archive -archivePath ./build/AppName
xcodebuild -exportArchive -exportOptionsPlist ./build/exportOptions.plist -archivePath ./build/AppName.xcarchive -exportPath ./build/appName
exportOptions.plist為:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>method</key>
<string>ad-hoc</string>
</dict>
</plist>
我將進一步需要一種將Bundle標識符和Team更改為客戶的方法。 將PRODUCT_BUNDLE_IDENTIFIER=$com.changed.appname
添加到xcodebuild
的第一行,它將把Bundle標識符更改為我需要的標識符嗎?
即xcodebuild -scheme appName PRODUCT_BUNDLE_IDENTIFIER=$com.changed.appname clean archive -archivePath ./build/AppName
這是正確的嗎 ? 那團隊呢? 還是應該對這些設置使用exportOptions.plist?
謝謝。
您可以使用這些命令直接操作項目文件。 根據我的經驗,xcodebuild命令有時不接受我們作為配置文件,團隊ID等傳遞的參數。
因此,確保已更改所需方式的最佳方法是操縱xcodeproj
文件
sed -ie "s/ProvisioningStyle = \\".*\\"/ProvisioningStyle = \\"Manual\\"/" <project_name>.xcodeproj/project.pbxproj
sed -ie "s/CODE_SIGN_IDENTITY = \\".*\\"/CODE_SIGN_IDENTITY = \\"<signing_identity_name>\\"/g" <project_name>.xcodeproj/project.pbxproj
sed -ie "s/PROVISIONING_PROFILE = \\".*\\"/PROVISIONING_PROFILE = \\"<provisioning_profile_udid>\\"/g" <project_name>.xcodeproj/project.pbxproj
sed -ie "s/PROVISIONING_PROFILE_SPECIFIER = \\".*\\"/PROVISIONING_PROFILE_SPECIFIER = \\"<provisioning_profile_name>\\”/g" <project_name>.xcodeproj/project.pbxproj
注意:請注意空格,此方法使用正則表達式來匹配和替換項目文件中的值
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.