###############設(shè)置需編譯的項(xiàng)目配置名稱(chēng)
buildConfig="Release" #編譯的方式,有Release,Debug,自定義的AdHoc等
##########################################################################################
##############################以下部分為自動(dòng)生產(chǎn)部分,不需要手動(dòng)修改############################
##########################################################################################
projectName=`find . -name *.xcodeproj | awk -F "[/.]" '{print $(NF-1)}'` #項(xiàng)目名稱(chēng)
target_name="Escort"
workspace_name="${target_name}.xcworkspace"
scheme="$target_name"
ExportOptionsPlistPath="./AdHocExportOptionsPlist.plist"
scheme_name="Escort"
# 強(qiáng)制刪除舊的文件夾
#rm -rf ./$scheme_name-IPA
# 指定輸出ipa路徑
export_path=./$scheme_name-IPA
# 指定輸出歸檔文件地址
export_archive_path="$export_path/$scheme_name.xcarchive"
# 指定輸出ipa地址
export_ipa_path="$export_path"
projectDir=`pwd` #項(xiàng)目所在目錄的絕對(duì)路徑
buildAppToDir=$projectDir/build #編譯打包完成后.app文件存放的目錄
isWorkSpace=true #判斷是用的workspace還是直接project,workspace設(shè)置為true,否則設(shè)置為false
echo "~~~~~~~~~~~~~~~~~~~開(kāi)始編譯~~~~~~~~~~~~~~~~~~~"
###############進(jìn)入項(xiàng)目目錄
cd $projectDir
#rm -rf ./build
buildAppToDir=$projectDir/build #編譯打包完成后.app文件存放的目錄
###############獲取版本號(hào),bundleID
infoPlist="$projectDir/Escort/Escort/Info.plist"
bundleVersion=`/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" $infoPlist`
bundleIdentifier=`/usr/libexec/PlistBuddy -c "Print CFBundleIdentifier" $infoPlist`
bundleBuildVersion=`/usr/libexec/PlistBuddy -c "Print CFBundleVersion" $infoPlist`
###############開(kāi)始編譯app
echo "版本信息"
echo $bundleVersion
echo $bundleIdentifier
echo $bundleBuildVersion
echo $projectName
echo -workspace
security unlock-keychain -p "103503" ~/Library/Keychains/login.keychain
echo "~~~~~~~~~~~~~~~~~~~pod install~~~~~~~~~~~~~~~~~~~"
export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
export LC_ALL=en_US.UTF-8
#第一次執(zhí)行了pod之后就不用再次執(zhí)行了
#pod install --verbose --no-repo-update
echo "開(kāi)始編譯workspace...."
xcodebuild archive -workspace "$workspace_name" -scheme "$scheme" -configuration $buildConfig -archivePath $export_archive_path
#CODE_SIGN_IDENTITY="iOS Distribution: Beijing Ubox Science & Trading Co, Ltd." PROVISIONING_PROFILE="32ba6a9e-e4d8-46e6-950d-af55549d831a"
echo "~~~~~~~~~~~~~~~~~~~ 編譯完成~~~~~~~~~~~~~~~~~~~"
echo "~~~~~~~~~~~~~~~~~~~ 開(kāi)始打包~~~~~~~~~~~~~~~~~~~"
appDir=$projectDir/ #app所在路徑
echo "開(kāi)始打包$projectName.app成$projectName.ipa....."
echo "打包地址$export_archive_path"
echo "輸出地址$export_ipa_path"
xcodebuild -exportArchive -archivePath $export_archive_path -exportPath $export_ipa_path -exportOptionsPlist $ExportOptionsPlistPath CODE_SIGN_IDENTITY="iOS Distribution: Beijing Ubox Science & Trading Co, Ltd." PROVISIONING_PROFILE="32ba6a9e-e4d8-46e6-950d-af55549d831a"
fir login 7b444bd2c652a260d074845df04d2183
fir publish $export_ipa_path/Escort.ipa
#上傳到fir
#fir publish $export_ipa_path/Escort.ipa -T firtoken -c "7b444bd2c652a260d074845df04d2183"
Jenkins中iOS打包shell腳本
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
相關(guān)閱讀更多精彩內(nèi)容
- 問(wèn)題 使用 Jenkins 來(lái)做 iOS 項(xiàng)目的持續(xù)集成,升級(jí) Xcode 9 之后,編譯完成之后打包會(huì)一直報(bào)如下...
- 安裝Jenkins 安裝jenkins方法有兩種: 1,使用homebrew安裝. 2,直接下載安裝包安裝; 方法...
- 背景: 隨著公司業(yè)務(wù)的擴(kuò)大,人員的增多,每次通過(guò)XCode給測(cè)試人員Run代碼進(jìn)行測(cè)試,已經(jīng)滿(mǎn)足不了,況且Run出...
- 又對(duì)他們發(fā)脾氣了,又任性了,又倔了,又想什么是什么了……哎,這脾氣,真是沒(méi)誰(shuí)了。。。事后想想,一點(diǎn)小事而已,不至于...