使用 fir CLI插件上传 Swift 应用至fir.im

编者按:感谢 @溪孟羽 投稿,原文链接在此。我们在征集【使用 fir.im 的工具上传你的应用】相关的最佳实践教程,系列文章请前往<用户说>;对于用心的作者,我们会送出 fir.im 的限量鼠标垫和 复古木质小飞机,欢迎分享 fir.im 更高阶的玩法:)


使用fir.im来对未上架的应用进行测试,最终结果是这样的:

成功之后的下载链接页

由于个人没有Jenkins环境,又比较喜欢命令行,所以就采用了fir CLI插件进行操作。
使用fir-cli命令行还是很简单的,特别是只需要上传ipa文件时,基本按照其README操作一遍就行了,耗时的无非是安装xcode命令行工具。接下来简单介绍下我上传应用的步骤,详细的可以直接到这里进行查看。

安装xcode命令行工具

直接在字符终端执行以下命令:

$ xcode-select --install

如果已经安装,就会显示以下错误:(xcode-select -v可以显示安装的版本号)

xcode-select: error: command line tools are already installed, use "Software Update" to install updates  

如果没有安装的话,就会弹出提醒框,提示你下载命令行工具,按照提示步骤即可。下载的时间可能会有点长(相对上传的整个步骤来说)

修改指定 fir-cli 中 bin 文件的 PATH

因为OS-X在OS X 10.11 以后的版本引入了rootless,并且我的OS-X版本号是10.11.2,所以需要对已经安装的Ruby进行额外的操作。

因为以前我针对Octopress无法使用修改了一些配置Octopress因为Ruby版本出现push不生效问题,所以这里我就没有采用重新安装Ruby的方式了,转而采用README中的第二种方法---指定 fir-cli 中 bin 文件的 PATH:

$ export PATH=/usr/local/bin:$PATH;gem install -n /usr/local/bin fir-cli

这样fir-cli就安装完成了。
可以执行以下命令,查看系统的环境变量PATH:

$ echo $PATH

系统会优先去这些路径寻找bin文件,所以需要进行以上操作。

编译 ipa

进入工程根目录(xcode工程文件所在目录,以下是我的工程目录):

$ cd ~/OSChina/GanHuo
$ pwd
/Users/songruiwang/OSChina/GanHuo

我的工程是采用CocoaPods做依赖管理的,所以需要执行以下命令对工程进行编译:

$ fir build_ipa path/to/workspace -w -S <scheme name>

针对我的工程:

$ fir build_ipa . -w -S GanHuo

如果是单纯的project或者workspace,需要分别执行以下命令:

//  project
$ fir build_ipa path/to/project -o path/to/output
// workspace
$ fir build_ipa path/to/workspace -o path/to/output -w -C Release -t allTargets GCC_PREPROCESSOR_DEFINITIONS="FOO=bar"

编译完成后默认会在工程根目录下生成fir-build目录,里面就会有对应的ipa文件和符号表文件了:

$ cd fir_build/
$ ls
MonkeyKing.framework.dSYM  
PKHUD.framework.dSYM  
SwiftyJSON.framework.dSYM  
幹貨-1.0.0-build-4.ipa

发布应用到 fir.im

发布需要执行以下命令:

$ fir publish path/to/application -T YOUR_FIR_TOKEN

YOURFIRTOKEN是注册fir.im以后生成的,如下:

API Token

针对我的工程:

fir publish  幹貨-1.0.0-build-3.ipa -T xxxxxxxxxxxxxxx  

然后等命令行输出success即可,到fir-im官网查看我的应用:

应用列表

点击预览就回出现和文章开头一样的下载图片了。

THE END

整个过程还是很简单的,基本上按照README操作一遍就OK,所以对于个人应用还是推荐使用commandline方式,更多命令点击这里


以上是 「fir.im 最佳实践教程」系列之 @溪孟羽 的使用分享,希望对你有用。

fir.im

fir.im - Meng

尺度中蕴含本质