Fastlane GitHub地址:Fastlane.github地址
详细介绍:文档地址
本文只配置,详细教程请看文档地址(需翻墙)。
环境
xcode7.3+
确保Xcode Command Line Tools 安装了最新版
终端输入:
xcode-select --install
如果你单独安装过ruby(如果你能看得懂这句),去掉sudo。如果使用系统自带的ruby,需要sudo权限
安装fastlane
终端到项目的当前文件夹下
初始化 fastlane
fastlane init
需要输入你的Apple ID 与密码(可以放心添加 ,账号密码都通过加密处理)
fastlane会自动检测当前目录项目的APP name 和App identifier。如果检测的不对,选择n自行输入。
当前目录下会创建一个fastlane的文件
插件
Fastlane的插件是一个或者一组action
的打包,单独发布在fastlane之外。Fastlane Plugin 指南
可以输入
fastlane search_plugins
查找相应的插件
安装插件方法
fastlane add_plugin [name] # 安装方法
安装插件(版本和firim插件)
fastlane add_plugin versioning # 用来修改build版本号和version版本号。
fastlane add_plugin firim
上传到蒲公英
自动化上传蒲公英
教程比较详细
配置发布环境
发布测试版到Fir.im
用 Subtext 编辑Fastfile文件(也可以是别的编译器,自行选择)
添加
# You can define as many lanes as you want
lane :to_firim do
# 如果你用 pod install
cocoapods(use_bundle_exec: false)
# 如果你没有申请adhoc证书,sigh会自动帮你申请,并且添加到Xcode里
sigh(adhoc: true)
# 以下两个action来自fastlane-plugin-versioning,
# 第一个递增 Build,第二个设定Version。
# 如果你有多个target,就必须指定target的值,否则它会直接找找到的第一个plist修改
# 在这里我建议每一个打的包的Build都要不一样,这样crash了拿到日志,可以对应到ipa上
# gym用来编译ipa
gym(
output_directory: './firim',
export_options: {
method: "ad-hoc", # 这可以不指定
thinning: "<none>"
}
)
# 上传ipa到fir.im服务器,在fir.im获取firim_api_token
firim(firim_api_token: "你的firimtoken")
end
发布
fastlane to_firim
然后就可以去下载测试了
配置遇到问题
Could not find proper version of fastlane (1.66.0) in any of the sources
需要更改ruby源
删除源https://gems.ruby-china.org/
gem sources --remove https://gems.ruby-china.org/
更改源https://rubygems.org/ (需要翻墙下载下)
gem sources -a https://rubygems.org/
参考文献:
小团队的自动化发布-Fastlane带来的全自动化发布
fastlane 自动打包到 fir.im 的踩坑之路
备注:
-
fastlane beta 命令 报错:
[!] Add 'gem "cocoapods"' to your Gemfile and restart fastlane
解决方法:
修改Gemfild 里面的 gem 'fastlane' 为 gem "cocoapods"
此时报错 method `to_plist' not defined in Array
解决办法,分别执行以下命令: 链接
rvm @global do gem uninstall fastlane rvm all do gem uninstall fastlane gem uninstall fastlane gem install fastlane
重新安装fastlane之后,执行fastlane beta 可以看到导出的ipa
-
工程为cocoapods 若出错可以修改
Fastfile before_all do cocoapods(use_bundle_exec: false)