前言
我们在开发完成和修改bug 时必须要做的步骤就是打包 和上传蒲公英,这对于我们来说是一个简单繁琐重复度很高的一个工资
本篇文章讲解如何使用 fastlane 实现自动打包 和上传蒲公英
fastlane 介绍:
fastlane 的文档:https://docs.fastlane.tools/
fastlane 是用 Ruby 语言编写的一套自动化工具集和框架,每一个工具实际都对应一个 Ruby 脚本,用来执行某一个特定的任务,而 fastlane 核心框架则允许使用者通过类似配置文件的形式,将不同的工具有机而灵活的结合在一起,从而形成一个个完整的自动化流程。
依赖:Xcode、Mac 电脑(含有 ruby2.0 以上版本)、fastlane 版本
一、安装环境
安装fastlane
brew install fastlane
安装完成之后查看一下版本确认安装成功
fastlane --version
二、 配置fastlane
2.1 打开终端 cd到工程目录下
2.2 初始化 fastlane
fastlane init
终端里会让你选择,这里你选择4
中间会有很多
Continue by pressing Enter ⏎
2.3安装 蒲公英插件
fastlane add_plugin pgyer
2.4 编辑 Fastfile 脚本文件
打开项目目录找到刚生成的 fastlane 文件夹里面会有两个文件
2.4.1先编辑第一个文件 appfile 按照说明填写的 bundle identifier 和Apple ID
2.4.2编辑另一个文件Fastfile
#超时时间和重复次数
ENV["FASTLANE_XCODEBUILD_SETTINGS_TIMEOUT"] = "480"
ENV["FASTLANE_XCODEBUILD_SETTINGS_RETRIES"] = "10"
# 定义打包平台
default_platform(:ios)
# 任务脚本
platform :ios do
desc "打包到蒲公英"
# 打包时候用的名称 例如 fastlane automatic
lane : automatic do
# add actions here: https://docs.fastlane.tools/actions
gym(
# 每次打包之前clean一下
clean: true,
# 打包出 ipa 文件的路径,我放到了桌面文件夹,你自行更改文件夹
output_directory: '/Users/Desktop/ipa',
# 打包的名称,可任意取
output_name: '项目名称.ipa',
# 项目的 scheme,自己项目名 .xcworkspace 前面的项目名就是
scheme: "项目名称",
# 默认 Release,Release or Debug
configuration: 'Debug',
# 是否包含 bitcode
include_bitcode: false,
# 是否包含 symbols
include_symbols: true,
# 打包导出方式,包含 app-store, validation, ad-hoc, package, enterprise, development, developer-id and mac-application
export_method: 'development',
# 这个设置是为了设置 xcode 自动配置证书和配置文件,当然也可以手动配置,可以参考文档
export_xcargs: '-allowProvisioningUpdates'
)
# mac上的通知弹窗,通知打包完毕
notification(app_icon: "./fastlane/icon.png", title: "manager", subtitle: "打包成功,已导出安装包", message: "准备发布到蒲公英中……")
#配置上传蒲公英账号 蒲公英的 api_key和 password (这个是你设置密码下载时用的密码)具体可以参考官方文档https://github.com/PGYER/fastlane-plugin-pgyer
pgyer(api_key:"xxxxxxxxxx",password:"xxxxx",install_type:"2")
end
end
三、fastlane 自动打包上传
fastlane XXX 或者 bundle exec fastlane xxx
这个 XXX,就是 Fastfile 文件里面,lane:后面的文字,我的名称是 automatic,就是 fastlane automatic
四.总结
使用之前要先确保你的项目可以正常运行 可以正常打包,fastlane本质上只是个自动化工具使用你的xcode进行打包 如果你的项目使用xcode不能归档成功那fastlane也会报错