通过命令行将iOS的APP安装到模拟器中
目的
以前组里的测试同学调到外网项目组去了,因为测试机器不够,所以希望能先把程序在模拟器上跑一遍。
另外,因为XCode的慢还真是快要“人神共愤”了,测试同学是不是也不需要每天把代码update到最新版本,然后自己编译发布吧?好吧,又想到了自动化部署了,MS是可行的,先不想那么远了,先解决现在的问题再说。
解决
早些时候做iOS开发的时候,还用过ios-sim这个工具,brew之后,发现不好用,备受打击。在公司里调到了7点多还是不成,回家路上甚至想自己找下苹果的开发文档,然后扒一下ios-sim的源代码,自己写一个?
好在看了下 XCode6 之后提供了xctool这个工具,可以做到这些事情:
- 启动一个模拟器
- 把app安装到启动好的模拟器上面
- 从模拟器上卸载指定的app
赞!就是我做的事情嘛:
根据实践,简单的使用如下:
启动运行模拟器:
xcrun instruments -w 'iPhone 6 Plus'
在已经启动好的模拟器中安装应用:
xcrun simctl install booted Calculator.app
(这里要特别注意,是app,不是ipa 安装时需要提供的是APP的文件路径)
正常情况下,就可以看到,这里已经把Calculator这个app安装到了模拟器里面。
目前我测试下来我之前自己写的一些示例程序都是可以的,但公司的APP会闪退,初步怀疑是给我的ipa包,打包方式的问题,明天去公司再确认一下。
卸载APP的命令就比较简单了:
xcrun simctl uninstall booted com.yuchang.calculator
卸载时需要写的是bundle identifier。
xcrun 这个命令实际还有很多更高深的玩法,具体直接xcrun --help可以自己学习和领悟了,当然也可以把上面的几个命令组合起来写个脚本,实际提高工作效率。
明天上午先最终确认下这个方法是否可行吧,然后春节时有空可以研究一下iOS的自动构建。:)