之前一直糾結(jié)Xcode 9之后用Jenkins導出.ipa文件失敗毅厚,后經(jīng)朋友指點終于成功疗锐,在此結(jié)出終級解決之法淑掌;
大致思路是這樣的:Jenkins在網(wǎng)頁中的配置大多會在之后進行整理榆芦,最終在終端生成shell腳本谭溉,然后每完成一項就會在構(gòu)建結(jié)果中顯示成功,如有一步錯匕积,則整個構(gòu)建過程將會失敗盈罐,所以這就解釋了之前構(gòu)建一直卡在了Achiver成功之后。
基于上面的思路闪唆,則棄用之前的Jenkins配置盅粪,取消Jenkins項目中構(gòu)建過程,Xcode配置全部清空悄蕾,使用腳本配置票顾,以下我會具體貼出础浮,并適當講解:
#!/bin/bash -l
export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
export LC_ALL=en_US.UTF-8
#以下PROJECT_NAME為項目工程名稱
pod install --verbose --no-repo-update
open PROJECT_NAME.xcworkspace
#以下USER_NAME為用戶名
project_path="/Users/USER_NAME/.jenkins/workspace/PROJECT_NAME"
#指定項目地址
workspace_path="$project_path/PROJECT_NAME.xcworkspace"
#取當前時間字符串添加到文件夾結(jié)尾
now=$(date +"%Y_%m_%d_%H_%M_%S")
#指定項目的scheme名稱
scheme="PROJECT_NAME"
#指定要打包的配置名
configuration="Release"
#指定打包所使用的輸出方式,目前支持app-store, package, ad-hoc, enterprise, development, 和developer-id奠骄,即xcodebuild的method參數(shù)
export_method='enterprise'
#指定輸出路徑
output_path="$project_path/build/PROJECT_NAME{now}"
#指定輸出歸檔文件地址
archive_path="$output_path/PROJECT_NAME.xcarchive"
#指定輸出ipa名稱
ipa_name="PROJECT_NAME{now}.ipa"
#指定輸出ipa地址
ipa_path="$output_path/${ipa_name}"
#指定打包配置
export_plist_path="$project_path/ExportOptions.plist"
#獲取執(zhí)行命令時的commit message
#commit_msg="$(cat $project_path/build_log.txt)"
#輸出設(shè)定的變量值
echo "===workspace path: ${workspace_path}==="
echo "===archive path: ${archive_path}==="
echo "===ipa path: ${ipa_path}==="
echo "===export method: ${export_method}==="
#echo "===commit msg: ${commit_msg}==="
#先清空前一次build
xcodebuild clean -workspace ${workspace_path} -scheme ${scheme} -configuration ${configuration}
#歸檔
xcodebuild archive -workspace ${workspace_path} -scheme ${scheme} -archivePath ${archive_path}
#導出
xcodebuild -exportArchive -archivePath ${archive_path} -exportPath ${output_path} -exportOptionsPlist ${export_plist_path}
依此上秘法豆同,會獲得Xcode 9下構(gòu)建成功之案例,.ipa文件也會導出含鳞,至于之后上傳到平臺上影锈,請到各平臺下自行找文檔整理,不做贅述蝉绷。
今天新年鸭廷,祝大家新年快樂,2018熔吗,代碼不出bug靴姿,新技術(shù)很快上手,妹子泡到手軟磁滚,工資漲的飛快,人生樂的飛起O怼4谷痢!