配置打包信息
# 工程名稱
kProjectName="ipa.xcodeproj"
# workspace 名稱 如果使用了cocopods等可能需要用工作空間方式打包
# workspaceName=“ipa.workspace”
# scheme名稱
kSchemeName="ipa"
# target 這里scheme只對應(yīng)了一個target運行;如果有多個target需要指定target
kTargetName="ipa"
# APP環(huán)境配置 Configuration
kConfiguration="Release"
# archive導(dǎo)出路徑
kArchivePath="./ipaOutput/${kSchemeName}.xcarchive"
# ipa導(dǎo)出路徑
kExport_ipa_Path="./ipaOutput/${kSchemeName}"
# 不同的打包方式這個導(dǎo)出文件不同 [這個文件很重要,他決定了你的包是否能夠正常導(dǎo)出]
# 用Xcode自帶的archive方式導(dǎo)出ipa的時候,這個文件會隨之導(dǎo)出
kExportOptionsPlist="./ipaOutput/ExportOptions.plist"
kAppChangelog="Tips:我是版本更新信息"
打包 && 導(dǎo)出
# clean
xcodebuild clean -configuration "$configuration" -alltargets
# archive project
xcodebuild archive -project "$kProjectName" -scheme "$kSchemeName" -configuration "$kConfiguration" -archivePath "$kArchivePath"
# archive workspace
# #xcodebuild archive -workspace "$workspaceName" -scheme "$scheme" -configuration "$kConfiguration" -archivePath "$kArchivePath"
# 導(dǎo)出ipa
xcodebuild -exportArchive -archivePath "$kArchivePath" -exportOptionsPlist "$kExportOptionsPlist" -exportPath "$kExport_ipa_Path"
上傳ipa到分發(fā)平臺
# --------------> 檢測IPA存在否
ipa_path="${kExport_ipa_Path}/${kSchemeName}.ipa"
if [ -f "$ipa_path" ]
then
echo "------------ipa存在??......"
else
echo "------------ipa不存在??......"
exit 1
fi
上傳到fir
# --------- firm 上傳配置
echo "請選擇登錄賬戶名:\n 1)kael 自己的fir賬戶(默認) \n 2)公司的fir賬戶"
read fir_token
if [[ $fir_token == 2 ]]; then
#公司賬號
fir_token="*********"
else
# 自己的賬號
fir_token="*********"
fi
fir publish ${ipa_path} -T $fir_token -c $kAppChangelog
上傳到pgy
# -------- pgy 上傳
echo "------------準(zhǔn)備發(fā)布蒲公英------------"
#>>>>>>>>>>>蒲公英賬號信息配置
#蒲公英賬號
pgy_API_Key="*********"
pgy_User_Key="*********"
# ------> 蒲公英發(fā)布
curl -F "file=@$ipa_path" \
-F "uKey=$pgy_User_Key" \
-F "_api_key=$pgy_API_Key" \
-F "updateDescription=$kAppChangelog" \
https://www.pgyer.com/apiv1/app/upload
腳本
#!/bin/sh
# 工程名稱
kProjectName="ipa.xcodeproj"
# workspace 名稱 如果使用了cocopods等可能需要用工作空間方式打包
# workspaceName=“ipa.workspace”
# scheme名稱
kSchemeName="ipa"
# target 這里scheme只對應(yīng)了一個target運行;如果有多個target需要指定target
kTargetName="ipa"
# APP環(huán)境配置
kConfiguration="Release"
# archive導(dǎo)出路徑
kArchivePath="./ipaOutput/${kSchemeName}.xcarchive"
# ipa導(dǎo)出路徑
kExport_ipa_Path="./ipaOutput/${kSchemeName}"
# 不同的打包方式這個導(dǎo)出文件不同
kExportOptionsPlist="./ipaOutput/ExportOptions.plist"
kAppChangelog="Tips:我是版本更新信息"
# ------------------> 打包區(qū)
# clean
xcodebuild clean -configuration "$configuration" -alltargets
# archive project
xcodebuild archive -project "$kProjectName" -scheme "$kSchemeName" -configuration "$kConfiguration" -archivePath "$kArchivePath"
# archive workspace
# #xcodebuild archive -workspace "$workspaceName" -scheme "$scheme" -configuration "$kConfiguration" -archivePath "$kArchivePath"
# 導(dǎo)出ipa
xcodebuild -exportArchive -archivePath "$kArchivePath" -exportOptionsPlist "$kExportOptionsPlist" -exportPath "$kExport_ipa_Path"
# --------------> 檢測IPA存在否
ipa_path="${kExport_ipa_Path}/${kSchemeName}.ipa"
if [ -f "$ipa_path" ]
then
echo "------------ipa存在??......"
else
echo "------------ipa不存在??......"
exit 1
fi
# --------- firm 上傳配置
echo "請選擇登錄賬戶名:\n 1)kael 自己的fir賬戶(默認) \n 2)公司的fir賬戶"
read fir_token
if [[ $fir_token == 2 ]]; then
#公司賬號
fir_token="*********"
else
# 自己的賬號
fir_token="*********"
fi
fir publish ${ipa_path} -T $fir_token -c $kAppChangelog
# -------- pgy 上傳
echo "------------準(zhǔn)備發(fā)布蒲公英------------"
#>>>>>>>>>>>蒲公英賬號信息配置
#蒲公英賬號
pgy_API_Key="*********"
pgy_User_Key="*********"
# ------> 蒲公英發(fā)布
curl -F "file=@$ipa_path" \
-F "uKey=$pgy_User_Key" \
-F "_api_key=$pgy_API_Key" \
-F "updateDescription=$kAppChangelog" \
https://www.pgyer.com/apiv1/app/upload
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。