为了账号安全,请及时绑定邮箱和手机立即绑定

iOS自动打包

标签:
iOS

版本迭代过程中,经常需要打测试包,过程虽简单,但是不停地重复做同一件事会感觉极其无聊。

我们项目的内测包通过蒲公英来发布,所以在自动化之前,发测试包的流程是:archive、export、上传到蒲公英、查看蒲公英上的最新版信息(版本、build、下载地址)、拿着上一步的信息在各个相关钉钉群里吼一声。

基于这个“繁琐”的流程,我用python写了个脚本来解放双手。主要代码如下:

1、clean: os.system('xcodebuild clean -workspace xxx.xcworkspace -scheme xxx -configuration Release');

2、archive: os.system('xcodebuild archive -workspace xxx.xcworkspace -scheme xxx  -archivePath %s' % XCARCHIVE_PATH);

3、export: os.system('xcodebuild -exportArchive -archivePath %s -exportPath %s  -exportOptionsPlist %s' % (XCARCHIVE_PATH, EXPORT_PATH, plistFilePath)); 这里有个plist文件,一开始我也不知道要创建哪些选项,后面索性从xcode archive一个测试包,用最后生成的plist;

4、上传至蒲公英: 平台有开放接口 https://qiniu-storage.pgyer.com/apiv1/app/upload 按照套路来就行了;

5、钉钉群通知: 在创建群机器人,得到webhook,通过这个url就可以向群推送消息。

写到这里,算是完成了初期的预想。多想了一点,何不把发布环境也做成自动化?发布环境打包跟上面一样,把plist改一下就行了。

不一样的地方是包的上传:os.system('./altool --upload-app -f %s -u %s -p %s -t ios --output-format xml' % (ipa_path, UNAME, PASSWORD)), 后面两个参数分别是开发账号和密码。

使用过程中还是有个问题,因为脚本是为本人量身打造的,同组的小伙伴要使用就得先把环境撸一遍,里面的一些路径设置之类的也得根据他的实际情况改一下,如果后面需求变了,再共享给小伙伴使用,那又要各种设置一遍,甚是麻烦。所以,干脆把代码再撸一遍,用pyinstaller做成一个可执行文件,这样共享出去就方便了。

这里有个地方需要注意下,plist文件一起打包了,怎么在脚本中访问plist文件呢?

webp

到这里,基本上是完成了,命令行执行的时候需要提供打包环境(测试、发布)和 本地xcode工程目录。下面贴出具体实现:

webp

webp

webp

webp



作者:jerrychenly
链接:https://www.jianshu.com/p/6395e73a7995


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
JAVA开发工程师
手记
粉丝
205
获赞与收藏
1007

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消