之前看到上篇文章iOS自动化打包,感觉如果能直接给测试发送邮件通知测试新内容更加方便些所以在此基础上新增了 发送邮件通知功能。
实现原理是这样的 ,选择 Generic iOS Device 然后 command + B 编译 在Xcode 左侧文件夹 Products 会出现一个 xxx.app的文件 新建Payload文件夹--拷贝xxx.app到Payload文件夹--压缩成zip--更改后缀名为ipa--完成!
这个方法代替了我们通常使用的 Archive 。过程也不是很简便,所以我们用一个python的脚本来实现打包的这个过程.
使用方法:
1. 我们需要配置几个路径
a. 编译生成的 xxx.app 文件路径, 首先选择 Generic iOS Device 然后 command + B 编译完成后 在Xcode 左边的文件夹列表中找到 Product 点击里面生成的 xxx.app ,邮件 Show in Finder
将此文件拖入终端会出现此文件完整路径
复制此路径配置至DaBao.py (文尾附下载链接) 的 appFileFullPath
至此 xxx.app 文件路径配置完毕
b. openUrlPath 此配置为上传成功之后打开的蒲公英项目管理页面 直接粘贴 蒲公英项目管理地址即可
c .downloadUrlPath 此配置为项目在蒲公英的下载地址
d. mail_user 此配置 为你的邮件发送方的地址,我用的是QQ 邮箱所以当前填入的是QQ 邮箱地址
注:发送方邮箱需支持SMTP服务
e. mail_pass 此配置为 发送方邮箱SMTP服务密码
以QQ 举例
打开QQ邮箱 依次进入 设置 - 账户 - POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务 - IMAP/SMTP服务 在 “IMAP/SMTP服务” 右边会有一个 ”开启“ 按钮 点击开启按钮 会弹出一个对话框 里面有一个 16位的字符串 复制字符串 设置“mail_pass” 中 如下图 打码处
f.mail_namelist 此配置为测试人员邮箱 可多个设置 用英文逗号隔开 例如["961826736@qq.com","33067321@qq.com"]
g. 蒲公英 USER_KEY && API_KEY 将如下图所示蒲公英对应的字段配置至 DaBao.py
至此 appFileFullPath , openUrlPath,downloadUrlPath,mail_user,mail_pass,mail_namelist,USER_KEY,API_KEY, 共八项。
2.执行 DaBao.py (生成可执行文件 点一下就执行 请看最后)
a. 使用终端至 DaBao.py 文件目录
b. 在终端输入 python DaBao.py 输入 更新内容信息 等待完成
⚠️注:在终端输入的更新信息 必须用 英文的双引号 引起来 否则会报错
更新完成。 ~~~~~~~
更新
如何变成一个可执行文件真正的自动 不用打打码的那种!
刚刚写完之后发现还需要执行 DaBao.py 这一点很不方便 有人也说一点都不自动化 那么下面我们把 python 脚本变成一个 可执行的文件这样就方便了许多。
介绍一个使用一条命令即可将Python脚本变成可执行程序的工具,python-script-converter(仅限于Mac OS&;Linux),支持python2.x &; python3.x。任何python 文件都可以通过此方法 变成一个可执行的文件。
安装 python-script-converter 需要 pip, pip 如何安装 请自行百度
安装好pip 之后
在终端 执行 pip3 install python-script-converter
当出现 success! 即安装成功
使用 python-script-converter 的使用非常简单
在终端中输入'psc '后 并且输入一个空格然后将脚本拖入即可,程序会自动在脚本所在目录创建一个可执行脚本,且不会改变原来的脚本代码。
如
$ psc /Users/zhaojian/Desktop/Python\ Demo/demo1.py
这会在脚本目录生成一个test.command文件,双击即可执行。
若出现 需要添加文件的可执行权限 如图
在终端输入 chmod +x XXXX.command 文件路径地址并回车即可
下面 我们在以后的是使用中 直接双击 .command文件即可
脚本代码 DaBao.py 下载地址
代码解析 过几日放出
不足之处请各位大佬指出, 我做修改。
网友评论
小弟本人也一直维护一个轻量级的打包工具,欢迎加群讨论交流:629088155
https://github.com/aa335418265/IPABuildShell
自动匹配描述文件(Provisioning Profile)
自动匹配签名身份(Code Signing Identity)
允许指定授权文件目录,脚本将只在该目录匹配授权文件
支持Xcode 8.0至9.3
支持ipa签名方式:development、app-store、enterprise,即内部分发、商店分发、企业分发
支持workplace、cocoapod
自动关闭BitCode,并可配置开关
可配置自动修改内部版本号(Build Version)
可配置修改接口生产环境和开发环境
可配置指定新的Bundle Id
可配置指定构建Debug、Release模式
可指定构建的Architcture(arm64、armv7)
自动格式化IPA名称,例如: MyApp_20170321_222303_开发环境_企业分发_2.1.0(67).ipa、MyApp_20170321_222403_生产环境_商店分发_2.1.0(68).ipa (注1)
自动修复8.3以下版本的Xcode打包缺失XcentFile文件
自动校验ipa签名
格式化日志输出