iOS 使用 fastlane 实现自动打包上传App Stor
如果图片失效可以到我的博客查看:fastlane 实现自动打包上传App Store
fastlane 自动化iOS打包上传
下一篇 使用fastlane自动截屏
安装 fastlane
安装fastlane之前,我们得安装ruby,因为fastlane使用ruby语言写的,安装ruby前,我们要先安装一个mac软件包管理工具。
1.安装HomeBrew
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/ master/install)"
2.安装完 更新到最新版: 执行 brew update 、之后更新包: brew upgrade
3.安装 ruby:
brew install ruby
查看版本: ruby -v
我的版本:ruby 2.2.4p230 (2015-12-16 revision 53155) [x86_64-darwin16]
4.安装fastlane
sudo gem install fastlane -NV
查看版本:
[~] fastlane -v
fastlane installation at path:
/Users/xxxxx/.fastlane/bin/bundle/lib/ruby/gems/2.2.0/gems/fastlane-2.84.0/bin/fastlane
-----------------------------
fastlane 2.84.0
安装成功就可以开始使用了: 具体使用文档可以查看Fastlane Doc 这里只是介绍自动化上传App Store 构建版本、以及自动提交 DSYM 文件到 Frabic crashlytics 上
使用 fastlane
在项目根目录执行: fastlane init 结果如下:
屏幕快照 2018-03-05 下午5.35.57
这四个选项的意思是:
- 自动截屏。这个功能能帮我们自动截取APP中的截图,添加手机边框,我们这里不选择这个选项,因为我们的项目已经有图片了,不需要这里截屏。
- 自动发布beta版本用于TestFlight
- 自动的App Store发布包。我们的目标是要提交审核到APP Store,如果使用这个可以直接提交到 app store,期间可能出现让你输入你的 appid 账号密码,如果你的appid二级验证,你需要去官网生成一个专用密码输入
- 自定义设置。(本文主讲)
这里选择 4 期间可能会报错忽略就好 一路 Enter
An error occurred while installing unf_ext (0.0.7.5), and Bundler cannot continue.
屏幕快照 2018-03-05 下午5.48.41
结束目录结构如下:
屏幕快照 2018-03-05 下午5.49.56
主要文件 Fastfile 打开
屏幕快照 2018-03-05 下午5.51.15
其实现在我们就可以运行了 ,执行 fastlane custom_lane
会看到 fastlane.tools finished successfully 表示执行成功了
打包
lane :build_app_store do
# add actions here: https://docs.fastlane.tools/actions
gym(
scheme:"自己项目名字",
export_method:"app-store",
output_directory:"./fastlane/build",
archive_path:"./Archive",
clean: true,
)
# update_app_store 这个方法是上传项目到 appstore 的方法 下面有介绍 写这里就是执行完打包自定上传到 itunes connect
end
scheme: 如果你使用第三方的库,如果你不指定会让你选择(肯定要选择自己App名字的)这里设置之后就不会再询问你了
export_method: ,'ad-hoc','app-store' 标记为什么版本
output_directory: 导出的目录
保存之后执行:
fastlane build_app_store
执行结果在build 文件中生成 ipa、dSYM.zip
屏幕快照 2018-03-05 下午6.13.39
提交App Store审核
这里我们使用 deliver 工具
- 执行 fastlane deliver 需要输入 appid、选择team、yourAppIdentifier
fastlane deliver
- 修改 Fastfile 新写一个方法 这里名为 update_app_store
lane :update_app_store do
increment_build_number
# 编译代码
gym(
scheme:"自己项目名字",
export_method:"app-store",
)
# 发布到 Apple Store
deliver
end
- 主要说下这个 increment_build_number 字段 项目内部版本号(build 号) 这里是自增
具体使用方法参见
使用自增需要在项目中设置自增
1520245848957
- 现在就可以使用 fastlane update_app_store上传项目了
fastlane update_app_store
到此已经打包上传项目完成了
dSYM文件上传 Farbic 项目中使用 crashlytics 统计崩溃
在Fastfile 中新写一个方法
lane :update_to_crashlytics do
upload_symbols_to_crashlytics(
dsym_path: "./fastlane/build/PushupsApp.app.dSYM.zip",
api_token: "你自己的appkey"
)
end
完整 Fastfile 文件
屏幕快照 2018-03-05 下午6.38.15
致辞今天分享已经结束
参考文档