iOS自动打包总结

前段时间由于公司产品推广需要多渠道自动打包,故网上查了很多资料,大部分说的都不够详细,故在这里总结下,方便他人。这里主要介绍2种自动打包方式,一种是通过xcodebuild和xcrun。另一种是解压文件->修改文件->签名->压缩文件。
第一种打包方式主要包含以下几个步骤:
1、证书拷贝:
打开钥匙串把你打包使用的证书(一般都是发布证书)从登录目录拷贝到系统目录。(这一步非常重要不然签名会失败)

2、自己手动生产一个channel.plist文件,放到工程中,这里主要用来保存channelID的。

3、sh脚本:(终端执行sh脚本是先cd到工程文件目录下)

for ((i=1;i<=10944;i++))
do

xcodebuild -target youtarget clean

/usr/libexec/PlistBuddy -c “set :channelID ${i}” channel.plist文件路径 #修改channelID

xcodebuild -target youtarget -configuration release -sdk iphoneos build #打包

xcrun -sdk iphoneos PackageApplication -v “工程文件目录下/build/Release-iphoneos/6p.app” -o “保存的文件目录/oola_${i}.ipa” #生成ipa

done

第二种打包方式:
1、证书拷贝:
打开钥匙串把你打包使用的证书(一般都是发布证书)从登录目录拷贝到系统目录。(这一步非常重要不然签名会失败)

2、自己手动生产一个channel.plist文件,放到工程中,这里主要用来保存channelID的。

3、手动生产一个entitlements.plist和你的应用.ipa在同一目录下
key:application-identifier value:证书id.你的应用的bundleID
key:aps-environment value:production #推送
4、sh脚本
cd “你的应用.ipa文件路径”
unzip “你的应用.ipa文件”
for (i=1;i<2001;i++)
do
cd Payload

cd “解压后Payload目录项.app文件”

/usr/libexec/PlistBuddy -c “set :channelID ${i}” channel.plist文件路径 #修改channelID
cd ../..
rm -rf Payload/你的app.app/_CodeSignature

cp “你的应用配置文件.mobileprovision” Payload/你的应用.app/embedded.mobileprovision

/usr/bin/codesign -f -s “你的证书” –entitlements entitlements.plist Payload/你的应用.app

zip -r “{你的新的应用}_{i}.ipa” Payload #打成其他渠道的包

mv “{targetName}_{i}.ipa” “新的文件存放路径”
done
rm -rdf Payload

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值