还在等待漫长的iOS构建过程?来试试通过命令行的方式进行iOS应用快速构建和运行吧
来源:互联网 发布:nmap扫描开放端口 编辑:程序博客网 时间:2024/05/08 23:20
不必多言,Xcode慢得很是众所周知的了。更甚者是,我有时发觉自己太依赖于Cocoa Touch的自动完成功能了,这可是个天使和魔鬼的结合体!
故此我开始去寻觅一个替代的流程来通过命令行来实现我需要的功能。结果是相当让人困惑:有一些文章建议用xctool和xcodebuild来构建Xcode目标应用,然后用ios-sim,simctrl和instruments来管理和运行模拟器,但大部分这些信息都是老掉牙且零碎不堪的。
值得庆幸的是,我最终还是通过九牛二虎之力把这些琐碎的信息拼凑再一起来达到我自己的目的。那就是,假如现在有一个通过Xcode 6建立的iOS项目,我想要做到如下几点:
- 构建目标应用
- 启动一个iOS模拟器
- 把该app应用安装到上面启动好的模拟器上面
- 运行安装好的app
- 从模拟器上卸载掉该app
那么我想把这些所有事情都通过命令行来实现,也就是说把Xcode给关闭掉的情况来完成这些工作。
在我们继续往下走之前,你需要先收集以下的一些基本信息:
- 你所选择的通过Xcode进行构建的scheme(比如“AwesomeApp")
- 你的应用包id(比如"com.awesome.app")
- 已经创建好的模拟器的名称(比如"iPhone6 Plus")。如果你不想从Xcode的GUI中获取到这些信息,你大可以通过查看命令xcrun simtl list的输出来进行收集
准备好了吗?那我们就开始吧!
(注意以下的命令需要在你的项目文件夹下面运行)
构架目标应用:
xcodebuild -scheme AwesomeApp -destination 'platform=iphonesimulator,name=iPhone 6 Plus' -derivedDataPath build
启动运行模拟器:
xcrun instruments -w 'iPhone 6 Plus'
安装应用包(当然你是需要在通过以上命令构建好目标应用和启动完成模拟器之后来运行此命令了)
xcrun simctl install booted build/Build/Products/Debug-iphonesimulator/AwesomeApp.app
启动模拟器中已经安装好的应用(在该应用已经通过如上命令安装好之后)
xcrun simctl launch booted com.awesome.app
删除该安装包:
xcrun simctl uninstall booted com.awesome.app
如果你需要构建的是一个相当复杂的项目的话,你其实是需要给构建命令指定不少的一些参数的。具体请阅读RTFMs(Read The Fucking Manuals:阅读那该死的使用手册!)。如果你是像我一样是个懒虫的话,请通过编写一些脚本来自动完成这些步骤吧。
-----------完------------------
英文原文:http://dduan.net/post/2015/02/build-and-run-ios-apps-in-commmand-line/
转载请尊重原创/译
微信公众号
CSDN
天地会珠海分舵
服务号:TechGoGoGo
http://blog.csdn.net/zhubaitian
优秀资源推荐
地址
点评
DoctorQ博客
http://testerhome.com/doctorq/topics
安卓自动化领域才俊,技术分享先驱,
- 还在等待漫长的iOS构建过程?来试试通过命令行的方式进行iOS应用快速构建和运行吧
- Android Developers:在命令行构建和运行
- 从零开始构建IOS的OpenGL应用
- 构建和运行您的应用
- iOS中单例类的构建
- Handlebars 通过JavaScript对view和data的分离来快速构建Web模板
- 通过OTA的方式在局域网分发iOS应用
- 构建互联网iOS应用
- 一、ios的通过Xib构建UICollectionView的简单运用
- ios的通过Xib构建UICollectionView的简单运用
- 转载ios开发如何使用Xcode的Targets来管理开发和生产版本的构建
- 漫长的等待
- 等待是漫长的
- 如何通过qtcreator配置项目的构建和运行
- Maven的构建配置文件(Build Profiles) 在命令行使用构建配置文件时,是-P,比如:mvn -Pinput 注意:这里的构建配置文件并不是一个真正的文件,而是通过指定参数来做特定
- maven的构建和运行
- iOS通过URL构建UIImage
- iOS通过URL构建UIImage
- IOS与Android的Session的存储区别
- Eclipse版本控制工具subclipse与TortoiseSVN 同步管理项目
- Unity3D脚印6—模型动画
- 2015AC小分队训练赛(二)--J(杭电1312)
- 贪心算法-整数区间-JAVA
- 还在等待漫长的iOS构建过程?来试试通过命令行的方式进行iOS应用快速构建和运行吧
- 视图
- 分别是德国那边
- 第陌飞挥永奥废丫
- 城蕉鸥挥章占啄倨
- 毁苹残铱抛劣诹置
- 话屠倨秸纸挥位习
- 黑秸鹊瞥闹琴登置
- 第陌飞挥永奥废丫