配置打包信息
# 工程名称
kProjectName="ipa.xcodeproj"
# workspace 名称 如果使用了cocopods等可能需要用工作空间方式打包
# workspaceName=“ipa.workspace”
# scheme名称
kSchemeName="ipa"
# target 这里scheme只对应了一个target运行;如果有多个target需要指定target
kTargetName="ipa"
# APP环境配置 Configuration
kConfiguration="Release"
# archive导出路径
kArchivePath="./ipaOutput/${kSchemeName}.xcarchive"
# ipa导出路径
kExport_ipa_Path="./ipaOutput/${kSchemeName}"
# 不同的打包方式这个导出文件不同 [这个文件很重要,他决定了你的包是否能够正常导出]
# 用Xcode自带的archive方式导出ipa的时候,这个文件会随之导出
kExportOptionsPlist="./ipaOutput/ExportOptions.plist"
kAppChangelog="Tips:我是版本更新信息"
打包 && 导出
# 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"
# 导出ipa
xcodebuild -exportArchive -archivePath "$kArchivePath" -exportOptionsPlist "$kExportOptionsPlist" -exportPath "$kExport_ipa_Path"
上传ipa到分发平台
# --------------> 检测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 "------------准备发布蒲公英------------"
#>>>>>>>>>>>蒲公英账号信息配置
#蒲公英账号
pgy_API_Key="*********"
pgy_User_Key="*********"
# ------> 蒲公英发布
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只对应了一个target运行;如果有多个target需要指定target
kTargetName="ipa"
# APP环境配置
kConfiguration="Release"
# archive导出路径
kArchivePath="./ipaOutput/${kSchemeName}.xcarchive"
# ipa导出路径
kExport_ipa_Path="./ipaOutput/${kSchemeName}"
# 不同的打包方式这个导出文件不同
kExportOptionsPlist="./ipaOutput/ExportOptions.plist"
kAppChangelog="Tips:我是版本更新信息"
# ------------------> 打包区
# 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"
# 导出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 "------------准备发布蒲公英------------"
#>>>>>>>>>>>蒲公英账号信息配置
#蒲公英账号
pgy_API_Key="*********"
pgy_User_Key="*********"
# ------> 蒲公英发布
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