使用shell脚本打包并发布iOSApp
问题背景
iOS开发中打包和上传的常规方式是,使用XCode打包+Transporter上传App store。
除此以外,还可以使用shell脚本来处理打包上传工作。
脚本方式开始执行后就无须操作,自动完成"编译-打包-上传"的过程,省去了中途等待和操作的时间。
这里以App Store和蒲公英为上传平台展开说明。在配置脚本之前,需要先获取对应平台的认证信息。
一、App Store用认证信息
1.App Store Connect中-【用户和访问】
2 【用户和访问】页,
选择【密钥】Tab, 选择密钥类型【App Store Connect API】, 点击【+】开始添加API密钥
3 在生成密钥弹框中,输入名称、并选择访问。
其中访问选择【管理】。否有可能因为权限不够,导致App完成打包后,因权限不足无法通过认证,导致上传失败。
4.生成密钥后,点击列表右侧按钮,下载密钥到PC,密钥为.p8文件。
之后将文件放置到用户目录下的private_keys文件夹中
~/private_keys
5 拷贝Issuer ID 和 密钥ID。至此App Store用认证信息已获取。
二、蒲公英认证用信息
蒲公英apikey的获取链接为
https://www.pgyer.com/doc/view/api
按页面提示点击获取即可
三、Shell脚本作成
将以下例子脚本放置到iOS项目跟目录下,即与项目的.xcworkspace文件同一级文件夹下。
依次替换脚本中的以下定义:
-App Store Connect Apikey
-App Store Connect IssuerId
-蒲公英userKey
-蒲公英ApiKey
-蒲公英更新说明
-Xcode项目的project名
-Xcode项目的scheme名
-导出包的ipa名(命名随意,用英文)
具体脚本代码见附件
四、使用脚本打包
运行脚本,会出现提示
Place enter the number you want to export ? [ 1:app-store 2:store打包 3:蒲公英(dev) 4:dev打包] \n Please Enter Number:
-打生产包并上传App store,按1
-打开发包并上传蒲公英,按3
之后看到提示,是否在编译之前执行Clean,
是否先执行Clean ? [ 1:执行 2:不执行 ] \n Please Enter Number:
-Clean后重新编译按1
-不Clean使用增量编译按2
之后会自动执行:编译-打包-上传。
打包结束,会在桌面生成文件夹,生成app包文件。
上传完成,脚本执行结束。