- 进入到工程根目录执行
fastlane init
- 如果不需要一些特殊的要求的话,直接选择
4
手动配置脚本
- 根目录下会多一个
fastlane
文件夹
- 打开
Appfile
文件里面填写一下Bundle ID
、苹果账号
、团队id
、itc_team_id(可以在第一次上传到TestFlight的时候看到)
信息
- 在
fastlane
文件夹下执行一下fastlane match init
填写一下仓库类型、仓库地址,用户拉取证书和描述文件
- 同样的
Matchfile
中该填写的配置填写一下
- 打开
Fastfile
开始写脚本
- 拉取证书和描述文件
lane :setup do
match(type: "development", readonly: true)
match(type: "appstore", readonly: true)
end
- 注册设备
lane :devices do
register_devices(
devices: {
"iPhone" => "UDID",
}
)
match(type: "development", force_for_new_devices: true) //更新一下本地描述文件
end
- 每次打包的时候修改build号
def buildNumberUpdate
#更改项目 build 号
increment_build_number(
build_number: "#{Time.new.strftime("%Y.%m.%d.%H.%M")}"
)
end
- 上传到TestFlight
desc "Upload Dev To TestFlight"
lane :testflight_prod do
match(type: "appstore", readonly: true) //上传Testflight的都是production包
buildNumberUpdate
build_app(
#build_app是打包的action,里面详细的命令请查看https://docs.fastlane.tools/actions/build_app
workspace: "XXX.xcworkspace", #装有coccoapod的,找到项目的workspace
scheme: "XXX", #项目命名
export_method: "app-store", #导出方式
output_directory: "./builds/testflight", #打包后ipa的存放路径
configuration: "XXX", #环境
clean: true #打包前是否需要执行clean
)
upload_to_testflight
end
- 上传到蒲公英
先执行fastlane add_plugin pgyer
安装蒲公英插件
desc "package and upload to pgyer"
lane :pgyer_dev do #自定指令参数
# add actions here: https://docs.fastlane.tools/actions
gym(
configuration:"Debug",
clean:true,
scheme: "XXX", #工程下要打包的项目,如果一个工程有多个项目则用[项目1,项目2]
export_method: "development", #打包的方式, development/adhoc/enterprise/appstore
output_directory: './builds/pgyer', #指定ipa最后输出的目录
)
pgyer(api_key: "XXX", user_key: "XXX", update_description: "iwarm 4.0")
end