美文网首页常用技术收集iOS技术专题iOS开发记录
最浅显易懂的iOS自动化打包(1)

最浅显易懂的iOS自动化打包(1)

作者: 陈怀哲 | 来源:发表于2016-03-10 23:01 被阅读919次

打包打多了,就会开始觉得这重复的工作有些耗时间,而且效率低。我们需要自动化打包。

演示

先直接举一个例子吧。

我本地有一个工程,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

相关文章

网友评论

  • 沙漠骑士:The following build commands failed:
    Check dependencies
    (1 failure),这个是什么原因呢?是不是有什么依赖
  • 动感超人丶:为什么打出的包,安装不上呢?
  • 焚琴煮鹤de我:这个没法指定打包的版本的?不是有adhoc包,develop包,store包
    陈怀哲:@焚琴煮鹤de我 是的,这个脚本里没有
  • 被吹落的风:User defaults from command line:
    IDEArchivePathOverride = /Users/jason/Desktop/New/YouFeel/build/YouFeel.xcarchive

    xcodebuild: error: 'YouFeel.xcworkspace' does not exist.

    这是什么意思??
    被吹落的风:@9f2e536b78fd 现在是可以打包成功了,就是自动上传fir.im失败了
    被吹落的风:@9f2e536b78fd 可是.xcworkspace和.workspace都在我打开的文件目录下啊,很奇怪什么原因。。
    陈怀哲:@6a4f4d27034d 就是说你这个路径下没有.xcworkspace工程文件,所以不能准确的打包,你要把.workspace文件放在你打开的文件夹的根目录下

本文标题:最浅显易懂的iOS自动化打包(1)

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