打包打多了,就会开始觉得这重复的工作有些耗时间,而且效率低。我们需要自动化打包。
演示
先直接举一个例子吧。
我本地有一个工程,CYAVPlayer
打开终端,运行脚本
$ cd /Users/cy/CYAVPlayer
$ chmod 777 /Users/cy/package.sh
$ /Users/cy/package.sh
解释一下这三行命令:
- 打开工程目录
- 获得脚本权限
- 执行脚本
最后终端中会出现一大串代码,从中可以看到打包成功、导出成功、上传到fir成功的提醒。最后终端中大概是这个样子的:
屏幕快照 2016-03-10 22.29.28.png
在原来的文件夹,可以看到多了一个build文件夹,里面是我们打包好的ipa。
build ipa我到fir我的应用管理下面,就会看到,应用已经传上去了。
fir里的应用显示脚本
来看我们的脚本里面的内容:
xcodebuild -project CCYYAVPlayer.xcodeproj -scheme CCYYAVPlayer archive -archivePath ./build/CCYYAVPlayer.xcarchive && \
rm -rf ./build/CCYYAVPlayer.ipa && \
xcodebuild -exportArchive -exportFormat ipa -archivePath build/CCYYAVPlayer.xcarchive -exportPath build/CCYYAVPlayer.ipa && \
fir p build/CCYYAVPlayer.ipa -T XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
这里有脚本的链接,package.sh
也可以直接复制脚本内容到终端运行。需要注意的是:
- 将CCYYAVPlayer改成你工程的名字
- 最后的XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX这个是fir(fir.im是一个做内测分发的网站)的API Token,相当于是上传到fir你的账号下的密钥。
点击这里可以获取:API Token
如果你不需要上传到fir,在脚本中去掉下面的代码:
&& \
fir p build/CCYYAVPlayer.ipa -T XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
如果你的工程有workspace,脚本应该是这样的:
xcodebuild -workspace CCYYAVPlayer.xcworkspace -scheme CCYYAVPlayer archive -archivePath ./build/CCYYAVPlayer.xcarchive && \
rm -rf ./build/CCYYAVPlayer.ipa && \
xcodebuild -exportArchive -exportFormat ipa -archivePath build/CCYYAVPlayer.xcarchive -exportPath build/CCYYAVPlayer.ipa && \
fir p build/CCYYAVPlayer.ipa -T XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
网友评论
Check dependencies
(1 failure),这个是什么原因呢?是不是有什么依赖
IDEArchivePathOverride = /Users/jason/Desktop/New/YouFeel/build/YouFeel.xcarchive
xcodebuild: error: 'YouFeel.xcworkspace' does not exist.
这是什么意思??