fir.im-cli
fir.im-cli 可以通过指令查看, 上传, 编译应用
使用入门
从安装入手
fir.im-cli 使用 Ruby 构建,只要安装相应 ruby gem 即可:
$ sudo gem install fir-cli
如果是 OS X 系统, 需要提前安装好 osx command line tools:
$ xcode-select --install
如果出现无法安装的现象, 请先更换 Ruby 的淘宝源(由于国内网络原因, 你懂的), 并升级下系统自带的 gem
sudo gem sources --remove https://rubygems.org/
sudo gem sources -a https://ruby.taobao.org/
sudo gem sources -l
*** CURRENT SOURCES ***
https://ruby.taobao.org
# 请确保只有 ruby.taobao.org, 如果有其他的源, 请 remove 掉
sudo gem update --system
sudo gem install fir-cli
注意: 如果你的系统是 mac OSX 10.11 以后的版本, 由于10.11引入了 rootless
, 无法直接安装 fir-cli, 有以下三种解决办法:
1. 使用 RVM 安装 Ruby, 再安装 fir-cli(推荐)
# Install RVM:
$ \curl -sSL https://get.rvm.io | bash -s stable --ruby
$ gem install fir-cli
2. 指定 fir-cli 中 bin 文件的 PATH
$ export PATH=/usr/local/bin:$PATH;sudo gem install -n /usr/local/bin fir-cli
3. 重写 Ruby Gem 的 bindir
$ echo 'gem: --bindir /usr/local/bin' >> ~/.gemrc
$ sudo gem install fir-cli
安装后,你可以在命令行执行指令
$ fir
Commands:
fir build_apk BUILD_DIR # Build Android app (alias: `ba`).
fir build_ipa BUILD_DIR [options] [settings] # Build iOS app (alias: `bi`).
fir help # Describe available commands or one specific command (aliases: `h`).
fir info APP_FILE_PATH # Show iOS/Android app info, support ipa/apk file (aliases: `i`).
fir login # Login fir.im (aliases: `l`).
fir mapping MAPPING_FILE_PATH # Upload app mapping file to BugHD.com (aliases: `m`).
fir me # Show current user info if user is logined.
fir publish APP_FILE_PATH # Publish iOS/Android app to fir.im, support ipa/apk file (aliases: `p`).
fir upgrade # Upgrade fir-cli and quit (aliases: `u`).
fir version # Show fir-cli version number and quit (aliases: `v`).
Options:
-T, [--token=TOKEN] # User's API Token at fir.im
-L, [--logfile=LOGFILE] # Path to writable logfile
-V, [--verbose], [--no-verbose] # Show verbose
# Default: true
-q, [--quiet], [--no-quiet] # Silence commands
-h, [--help], [--no-help] # Show this help message and quit
Options:
-T, [--token=TOKEN] # User's API Token at FIR.im
-L, [--logfile=LOGFILE] # Path to writable logfile
-V, [--verbose], [--no-verbose] # Show verbose
# Default: true
-q, [--quiet], [--no-quiet] # Silence commands
-h, [--help], [--no-help] # Show this help message and quit
参数说明
alias <short command>
意味着可以用 alias 别名来代替该指令, 例如fir b
-T
用户在 fir.im 上的 api_token,publish
需要使用此参数-L
指定 fir-cli 的输出 log, 默认为 STDOUT-V
Verbose, 默认为输出所有信息( INFO 和 ERROR), 如果设置--no-verbose
, 则只输出 ERROR 信息-q
静默模式, 默认关闭-h
查看帮助
发布一个应用
输入下面的指令便可轻松发布应用, 支持 ipa 和 apk 文件
$ fir p path/to/application -T YOUR_FIR_TOKEN
如果在此之前, 已经使用 fir login
命令登录过, 则可省略 -T
参数
I, [2015-08-26T10:08:35.447209 #6774] INFO -- : Publishing app.......
I, [2015-08-26T10:08:35.447334 #6774] INFO -- : ✈ -------------------------------------------- ✈
I, [2015-08-26T10:08:35.514378 #6774] INFO -- : Fetching [email protected] uploading info......
I, [2015-08-26T10:08:35.692616 #6774] INFO -- : Uploading app......
I, [2015-08-26T10:08:36.920226 #6774] INFO -- : Updating devices info......
I, [2015-08-26T10:08:37.075149 #6774] INFO -- : ✈ -------------------------------------------- ✈
I, [2015-08-26T10:08:37.075238 #6774] INFO -- : Fetch app info from fir.im
I, [2015-08-26T10:08:37.235071 #6774] INFO -- : Published succeed: http://fir.im/xxxx
I, [2015-08-26T10:08:37.235155 #6774] INFO -- :
方便一点
如果觉得每次都输入 -T
很不方便, 那么可使用 login
命令
$ fir l
这时系统会提示输入用户 token, 用户 token 可在 这里 查看
Please enter your fir.im API Token:
I, [2015-08-26T10:10:28.235295 #6833] INFO -- : Login succeed, previous user's email: [email protected]
I, [2015-08-26T10:10:28.245083 #6833] INFO -- : Login succeed, current user's email: [email protected]
I, [2015-08-26T10:10:28.245152 #6833] INFO -- :
编译并获得 ipa
该指令
build_ipa
对xcodebuild
原生指令进行了封装, 将常用的参数名简化, 支持全部的自带参数及设置, 同时输出符号表 .dSYM 文件.
$ fir build_ipa path/to/project -o path/to/output
I, [2015-08-26T10:11:12.105103 #7167] INFO -- : Building......
I, [2015-08-26T10:11:12.105175 #7167] INFO -- : ✈ -------------------------------------------- ✈
I, [2015-08-26T10:11:18.500887 #7167] INFO -- : Build settings from command line:
..........
I, [2015-08-26T10:11:18.535498 #7167] INFO -- : Build Success
I, [2015-08-26T10:11:18.535704 #7167] INFO -- :
复杂一点
$ fir bi path/to/workspace -o path/to/output -w -C Release -t allTargets GCC_PREPROCESSOR_DEFINITIONS="FOO=bar"
该指令在指向的目录中,找到第一个 workspace 文件,对其进行编译。使用 Release
设置,编译策略为 allTargets
,同时设置了预编译参数 FOO
。
编译用 CocoaPods 做依赖管理的 .ipa包
$ fir bi path/to/workspace -w -S <scheme name>
编译用 Gradle 打包 apk
$ fir ba path/to/project
一步, 从源代码到 fir.im
只需要输入 -p -T
$ fir build_ipa path/to/project -o path/to/output -p -T YOUR_FIR_TOKEN
I, [2015-08-26T10:11:59.687221 #7273] INFO -- : Building......
I, [2015-08-26T10:11:59.687301 #7273] INFO -- : ✈ -------------------------------------------- ✈
I, [2015-08-26T10:12:00.868774 #7273] INFO -- : Build settings from command line:
..........
I, [2015-08-26T10:12:00.893819 #7273] INFO -- : Build Success
I, [2015-08-26T10:12:00.894051 #7273] INFO -- :
I, [2015-08-26T10:12:01.026832 #7273] INFO -- : Publishing app.......
I, [2015-08-26T10:12:01.026905 #7273] INFO -- : ✈ -------------------------------------------- ✈
I, [2015-08-26T10:12:01.098759 #7273] INFO -- : Fetching [email protected] uploading info......
I, [2015-08-26T10:12:01.249832 #7273] INFO -- : Uploading app......
I, [2015-08-26T10:12:01.859718 #7273] INFO -- : Updating devices info......
I, [2015-08-26T10:12:02.015517 #7273] INFO -- : ✈ -------------------------------------------- ✈
I, [2015-08-26T10:12:02.015588 #7273] INFO -- : Fetch app info from fir.im
I, [2015-08-26T10:12:02.210391 #7273] INFO -- : Published succeed: http://fir.im/xxxx
I, [2015-08-26T10:12:02.210459 #7273] INFO -- :
I, [2015-08-26T10:12:02.210520 #7273] INFO -- :
上传符号表
有以下三种方式上传符号表至 BugHD.com 所对应的项目, 目前已经支持 dSYM 和 txt 两种格式的符号表文件上传
指定 version 和 build 上传:
$ fir m <mapping file path> -P <bughd project id> -v <app version> -b <app build> -T <your api token>
在 publish 的时候自动上传:
$ fir p <app file path> -m <mapping file path> -P <bughd project id> -T <your api token>
在 build_ipa 的时候自动上传:
$ fir b <project dir> -P <bughd project id> -M -p -T <your api token>
需要帮助?
输入以下指令获取全面功能介绍
$ fir -h
$ fir publish -h
如果还有疑问随时发邮件至 fir-cli
永远使用最新功能
下面的指令会自动更新 fir-cli
$ fir upgrade
随时更新以使用最新功能