源码:自己用Python写的iOS项目自动打包脚本
http://www.cocoachina.com/ios/20160307/15501.html
什么?又要测试包!
做iOS开发几年了,每天除了码代码,改Bug之外,最让我烦恼的莫过于测试的妹子跑过来:“刚才的Bug都改完了吧,再打个包吧”。然而对于这个自己应尽的义务我已经烦透了,先不说要配置各种参数什么的,光是用xcode打包时候clean代码,验证证书就让我焦头烂额,时不时还要翻个墙甚至要手机开个热点才能打包成功。每次打包顺利的话,也要7~8分钟,每天n个包,想早点完成任务准时下班想都别想了。于是做了个打包的脚本(然后欢乐的像狗了)。好了,废话不多说,下面来介绍一下这个脚本,希望能给你带来方便。
脚本的地址: https://github.com/hades0918/ipapy
优点:
自动化打包,一句指令解决,节省大量打包时间
省去证书验证的无奈等待
自动上传到fir.im分发平台 //不用再发qq给测试人员了,如果你觉得不安全的话,fir.im是可以设置密码的
自动发送邮件给测试人员
有帮助指令,上手简单
准备工作:(工欲善其事必先利其器)
安装xcode
安装 fir.im的指令,见:https://github.com/FIRHQ/fir-cli/blob/master/README.md
安装python2.7,这个是mac系统自带的,如果不是2.7的话,可以升级一下
参数配置:(如果指令没安装好的话,goto 准备工作)
配置相关信息 python ipa.py -c 或者 python ipa.py --config ,后面需要修改的话也用这个指令
targetName:工程的名称,如:我的工程是BossZP.xcodeproj,所以我的targetName就是BossZP
gitPath:工程的git地址,如:我的git地址是http://git.xxx.org/xxxxxx/xxxxxx.git
certificateName:证书名称,如:我的是iPhone Developer: YANG YU (7XC3UZCAZM)
firToken:在fir.im上创建应用后的token,如:我的是2ac8uf3j9z3ur98d7gxxxxxxxx
下面的是邮件设置:
emailFromUser:我的邮箱,如:xxxxxx@163.com
emailToUser:测试人员的邮箱,如:xxxxxx@163.com
emailPassword:我的邮箱的密码
emailHost:邮箱的host,可以去邮箱网页查看,如:我的是smtp.163.com
配置完信息,可以通过 --help 或者 -h 查看基本的使用方法
-h, --help 查看帮助信息
-c, --config 配置基本信息
-s, --showTags 显示git上所有的版本
-t TAG, --tag=TAG 设置打包时的版本
● 如果你不喜欢我把放在Documents下面,你可以把脚本的第28行改成你喜欢的目录,如:target_path = "/Users/yuyang/clone/BossZP"
你可以这样使用:
python ipa.py -h
python ipa.py --help
python ipa.py -c
python ipa.py --config
python ipa.py -s
python ipa.py --showTags
python ipa.py -t v3.0 //打包时候这样使用,后面的v3.0参数可以使用python ipa.py -s获取
python ipa.py -tag v3.0 //打包时候这样使用,后面的v3.0参数可以使用python ipa.py -s获取
python ipa.py (tag不写,默认是master)
最后自曝一下脚本的缺点吧,这个脚本只适合.xcodeproj的工程,workspace的还不支持,后续会慢慢改进。如果这个脚本能给你带来方便,顺手给个star吧,给我把它做的更好来点动力。
demo下载:
源码:自己用Python写的iOS项目自动打包脚本的更多相关文章
- iOS 制作自动打包脚本 Xcode8.3.2
本文包含以下内容: 前言 1.shell脚本的编写 2.xcodebuild命令 3.完整的可用示例 参考资料 前言 做iOS开发,打包APP是比较频繁的事情,每次都手动去配置一堆东西确实是比较乏味. ...
- iOS项目自动打包
用的是:https://www.jianshu.com/p/a61fe38c8c29 需要上传到pgy /TestFlight 在脚本中加几句就可以了 另外一种方式,fastlane打包 首要条件: ...
- (3.10)mysql基础深入——mysqld 服务器与客户端连接过程 源码分析【待写】
(3.10)mysql基础深入——mysqld 服务器与客户端连接过程 源码分析[待写]
- 真想用c#开发个 wp五笔输入法。。。奈何网上资料太少,源码都是c++写的。求大神指点!!!
真想用c#开发个 wp五笔输入法...奈何网上资料太少,源码都是c++写的.求大神指点!!!!
- Android7.1.2 源码编译并烧写Nexus5X
1.环境配置 Ubuntu18.04 openJDK1.8 Python2.7 2.更新Ubuntu镜像源 编辑/etc/apt/source.list,替换为以下内容 deb http://mirr ...
- 【转】Android 源码下利用jni编译自己的项目(参考系统development/samples/SimpleJNI)
原文网址:http://blog.csdn.net/qiuxiaolong007/article/details/7860481 记于正文前:环境是ubuntu10.10,android 源码是2.0 ...
- Kettle源码学习(一)——把Kettle项目跑起来
kettle(pentaho data integration),是一款开源的C/S版的ETL工具,最近打算学习一下kettle源码,并自己写一个mini kettle,并改造成基于事件触发的流处理模 ...
- Git 把码云上被fork项目源码merge到fork出来的分支项目
Git 把码云上被fork项目源码merge到fork出来的分支项目 By:授客 QQ:1033553122 需求描述 被fork的项目有更新代码,希望把更新的代码merge到fork分支项目 解决方 ...
- [从源码学设计]蚂蚁金服SOFARegistry 之 自动调节间隔周期性任务
[从源码学设计]蚂蚁金服SOFARegistry 之 自动调节间隔周期性任务 目录 [从源码学设计]蚂蚁金服SOFARegistry 之 自动调节间隔周期性任务 0x00 摘要 0x01 业务领域 0 ...
随机推荐
- 洛谷P3747 [六省联考2017]相逢是问候
传送门 题解 扩展欧拉定理. 线段树维护,已经全改到底了的节点就不管,不然暴力修改下去. //Achen #include<algorithm> #include<iostream& ...
- 移动端Web适配单位rem的坑,oppo r9手机出现错位bug
我们做了一个抽奖的H5活动页面,被一个oppo R9手机客户反馈,抽奖的转盘错位了.刷新了好几次都不行.网上百度一搜真的有部分安卓手机有坑.赶紧修复bug.分享完整的rem.js代码出来.各位看官自己 ...
- 工控安全入门(七)—— plc的网络
上一篇我们详细分析了bootram和Vxworks的基本启动流程,这篇文章中我们把视线转到plc的网络部分,同时来复现我们第一个.第二个工控安全漏洞. VxWorks的网络设备驱动 一般我们说有三种设 ...
- 【MFC学习笔记】菜单和工具栏
1 菜单栏 1.1 在对话框中加入菜单: 打开Resource View资源视图, *.rc文件—Add Resources —Menu,即可加入菜单. 注:①菜单项中含有“...”表示点击后会弹出对 ...
- python 可迭代对象,迭代器,生成器的区别及使用
可迭代对象 可迭代对象类型:list,dict,tuple,str,set,deque等 如何判断一个对象是否是可迭代对象,可以通过dir()方法看它里面有没有__iter__方法,如果有这个方法就是 ...
- 免费提取百度文库 doc 文件
首先说明,今天要推荐的这款软件,不能不能不能免费提取百度文库里 PDF 格式的文件. 对于其他的格式,无论收费与否都能免费提取. 只是口头说说免不了耍流氓的嫌疑,举栗如下: 百度文库里<喜迎党的 ...
- mongodb+nodejs 增删查的demo
1.启动数据库 启动完成后显示 端口号是27017 2.创建数据库 创建一个名为mydb的数据库 3.先查询一下当然的用户,再新增一个 4.创建数据表,查询所有的表 db.createCollec ...
- JAVA面试常见问题之设计模式篇
1.常见的设计模式 单例模式.工厂模式.建造模式.观察者模式.适配器模式.代理模式.装饰模式. 参考:https://www.cnblogs.com/cr330326/p/5627658.html 2 ...
- bzoj 3029 守卫者的挑战——概率期望dp+状态数思考
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3029 先随便写了个dfs,记录“前 i 次.成功 j 次.容量-残片=k”的概率.因为是否可 ...
- 容斥原理学习(Hdu 4135,Hdu 1796)
题目链接Hdu4135 Co-prime Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Oth ...