IOS使用批處理打包
阿新 • • 發佈:2018-07-10
provision detail ons onf arch bsp 參數 打包 light
之前咱們講過 使用命令行打包 下面咱們介紹使用腳本打包,其實腳本和命令行沒有太大的本質區別。
以下是腳本文件:
#註意:腳本目錄和xxxx.xcodeproj要在同一個目錄,如果放到其他目錄,請自行修改腳本。 #工程名字(Target名字) Project_Name="Target名字,系統默認和工程名字一樣" #配置環境,Release或者Debug Configuration="Release" #AdHoc版本的Bundle ID AdHocBundleID="com.xxxxx" #AppStore版本的Bundle ID AppStoreBundleID="com.xxxxx" #enterprise的Bundle ID EnterpriseBundleID="com.xxxxx" # ADHOC #證書名#描述文件 ADHOCCODE_SIGN_IDENTITY="iPhone Distribution: xxxxx" ADHOCPROVISIONING_PROFILE_NAME="xxxxx-xxxx-xxxxx-xxxxx" #AppStore證書名#描述文件 APPSTORECODE_SIGN_IDENTITY="iPhone Distribution: xxxx" APPSTOREROVISIONING_PROFILE_NAME="xxxx-xxxx-xxxx-xxxx-xxxx" #企業(enterprise)證書名#描述文件 ENTERPRISECODE_SIGN_IDENTITY="iPhone Distribution: xxxx" ENTERPRISEROVISIONING_PROFILE_NAME="693bc1e0-7f7a-4fba-8a08-977ffb7fb296" #加載各個版本的plist文件 ADHOCExportOptionsPlist=./ADHOCExportOptionsPlist.plist AppStoreExportOptionsPlist=./AppStoreExportOptionsPlist.plist EnterpriseExportOptionsPlist=./EnterpriseExportOptionsPlist.plist ADHOCExportOptionsPlist=${ADHOCExportOptionsPlist} AppStoreExportOptionsPlist=${AppStoreExportOptionsPlist} EnterpriseExportOptionsPlist=${EnterpriseExportOptionsPlist} echo "~~~~~~~~~~~~選擇打包方式(輸入序號)~~~~~~~~~~~~~~~" echo " 1 appstore" echo " 2 adhoc" echo " 3 enterprise" # 讀取用戶輸入並存到變量裏 read parameter sleep 0.5 method="$parameter" # 判讀用戶是否有輸入 if [ -n "$method" ] then #clean下 xcodebuild clean -xcodeproj ./$Project_Name/$Project_Name.xcodeproj -configuration $Configuration -alltargets if [ "$method" = "1" ] then #appstore腳本 xcodebuild -project $Project_Name.xcodeproj -scheme $Project_Name -configuration $Configuration -archivePath build/$Project_Name-appstore.xcarchive clean archive build CODE_SIGN_IDENTITY="${APPSTORECODE_SIGN_IDENTITY}" PROVISIONING_PROFILE="${APPSTOREROVISIONING_PROFILE_NAME}" PRODUCT_BUNDLE_IDENTIFIER="${AppStoreBundleID}" xcodebuild -exportArchive -archivePath build/$Project_Name-appstore.xcarchive -exportOptionsPlist $AppStoreExportOptionsPlist -exportPath ~/Desktop/$Project_Name-appstore.ipa elif [ "$method" = "2" ] then #adhoc腳本 xcodebuild -project $Project_Name.xcodeproj -scheme $Project_Name -configuration $Configuration -archivePath build/$Project_Name-adhoc.xcarchive clean archive build CODE_SIGN_IDENTITY="${ADHOCCODE_SIGN_IDENTITY}" PROVISIONING_PROFILE="${ADHOCPROVISIONING_PROFILE_NAME}" PRODUCT_BUNDLE_IDENTIFIER="${AdHocBundleID}" xcodebuild -exportArchive -archivePath build/$Project_Name-adhoc.xcarchive -exportOptionsPlist $ADHOCExportOptionsPlist -exportPath ~/Desktop/$Project_Name-adhoc.ipa elif [ "$method" = "3" ] then #企業打包腳本 xcodebuild -project $Project_Name.xcodeproj -scheme $Project_Name -configuration $Configuration -archivePath build/$Project_Name-enterprise.xcarchive clean archive build CODE_SIGN_IDENTITY="${ENTERPRISECODE_SIGN_IDENTITY}" PROVISIONING_PROFILE="${ENTERPRISEROVISIONING_PROFILE_NAME}" PRODUCT_BUNDLE_IDENTIFIER="${EnterpriseBundleID}" xcodebuild -exportArchive -archivePath build/$Project_Name-enterprise.xcarchive -exportOptionsPlist $EnterpriseExportOptionsPlist -exportPath ~/Desktop/$Project_Name-enterprise.ipa else echo "參數無效...." exit 1 fi fi
其中AppStore證書名、描述文件參考 證書(Certificate)與描述文件(Provisioning Profiles)
參考文檔
https://blog.csdn.net/qq_34047841/article/details/54144149
IOS使用批處理打包