美文网首页DevSupportiOS开发锦集iOS
Python实现iOS自动化打包发送邮件至测试人员邮箱详解

Python实现iOS自动化打包发送邮件至测试人员邮箱详解

作者: 赵健Nic | 来源:发表于2018-05-11 18:20 被阅读1381次
    内容部分来源 :Python实现iOS自动化打包详解

    之前看到上篇文章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 下载地址

    代码解析 过几日放出

    不足之处请各位大佬指出, 我做修改。

    相关文章

      网友评论

      • coder_feng:企业腾讯邮箱需要什么设置么
        赵健Nic:@fengsonglin 和这个一样
      • triangle_06fc:自己动手丰衣足食,很好! 业界已有最好的自动化打包工具fastlane。
        小弟本人也一直维护一个轻量级的打包工具,欢迎加群讨论交流: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签名
        格式化日志输出
      • 0ec1abe97fbc:不是xcodebuild命令就可以打包并制定输出目录吗?编译后路径每个项目都不同,都去手动设置太不靠谱了……
        赵健Nic:好的 , 感谢提出, 我了解一下
      • 不懂后悔:你好。。你跑这个脚本报错。找不到ipa路径,但是我用原来的那个是没问题的。请问下是哪儿的问题。一运行就直接报 没有找到对应上传的IPA包 。。。去除邮箱发送就没问题
        赵健Nic:@不懂后悔 加我QQ961826736
      • 赵健Nic:更新了如何生成可执行文件,使用更方便,欢迎各位大佬指出不足
      • 4bc973e9926f:厉害了 老铁 膜拜了...

      本文标题:Python实现iOS自动化打包发送邮件至测试人员邮箱详解

      本文链接:https://www.haomeiwen.com/subject/krsbgttx.html