在工程根目錄下新建兩個文件
項目文件夾
DevelopmentExportOptionsPlist.plist
用來指定打包的類型垮庐,xcodebuild.sh
是打包執(zhí)行的shell
腳本文件甫贯。
DevelopmentExportOptionsPlist.plist 文件內容
method的類型為String
,用來指定打包ipa
的類型蝌诡,有以下可選項app-store、enterprise趣倾、ad-hoc衷掷、development
,默認為development
xcodebuild.sh
文件中包括一些需要配置的參數秀菱,工程名project_name振诬、打包模式development_mode蹭睡、scheme名scheme_name
衍菱。
打包的工程文件分兩種(是否包含cocoapods):project
和workspace
,如果需要打包的是project
肩豁,則在archieve
中將-workspace
替換為-project
脊串,將.xcworkspace
的路徑替換為.xcodeproj
的路徑
#工程名(自定義)
project_name=eHRmobile
#打包模式 Debug/Release(自定義)
development_mode=Release
#scheme名(自定義,一般與工程名相同)
scheme_name=eHRmobile
#plist文件所在路徑
exportOptionsPlistPath=./DevelopmentExportOptionsPlist.plist
#導出.ipa文件所在路徑
exportFilePath=~/Desktop/$project_name-ipa
echo '*** 正在 清理工程 ***'
xcodebuild \
clean -configuration ${development_mode} -quiet || exit
echo '*** 清理完成 ***'
echo '*** 正在 編譯工程 For '${development_mode}
xcodebuild \
archive -workspace ${project_name}.xcworkspace \
-scheme ${scheme_name} \
-configuration ${development_mode} \
-archivePath build/${project_name}.xcarchive -quiet || exit
echo '*** 編譯完成 ***'
echo '*** 正在 打包 ***'
xcodebuild -exportArchive -archivePath build/${project_name}.xcarchive \
-configuration ${development_mode} \
-exportPath ${exportFilePath} \
-exportOptionsPlist ${exportOptionsPlistPath} \
-quiet || exit
# 刪除build包
if [[ -d build ]]; then
rm -rf build -r
fi
if [ -e $exportFilePath/$scheme_name.ipa ]; then
echo "*** .ipa文件已導出 ***"
cd ${exportFilePath}
echo "*** 開始上傳.ipa文件 ***"
#此處上傳分發(fā)應用
echo "*** .ipa文件上傳成功 ***"
else
echo "*** 創(chuàng)建.ipa文件失敗 ***"
fi
echo '*** 打包完成 ***'
自動打包(需在項目中配置好描述文件清钥、開發(fā)者證書)
使用方式:
在終端中進入*.xcodeproj
上級目錄
輸入./xcodebuild.sh
即可自動打包琼锋、如無執(zhí)行權限則先執(zhí)行chmod +x xcodebuild.sh
最后會在桌面上生成打包完成的ipa文件夾。
項目源碼