0x00 背景
Apple 基于安全,强制升级所有账号都需要二步验证。这样打包服务器长期用来打包的账号,需要二步验证,增加了打包的复杂度。
0x01 方案
强制升级账号的同时,Apple 开放了App store Connect API,这样就提供了官方访问开发资源的途径,fastlane 同时对此做了支持。App store Connect API,是基于JWT,这样就可以消除二步验证
0x02 步骤
1、创建API Keys
需要一个具有管理员权限的账号,在用户和访问页面,选择生成密钥,按照引导操作即可。
1.API kid
2.Issuer ID
3.Private Key,一个p8文件,最好保存在服务器上,不要泄漏
保存和记录这三个重要参数,fastlane中需要
2、配置fastlane
修改fastfile文件
before_all do
key_file_path = ENV['HOME'] + "/xxxxx.p8" #p8文件路径
app_store_connect_api_key(
key_id: "xxxxxxxx",#API kid
issuer_id: "xxxxxxxxxxxxx",#Issuer ID
key_filepath: key_file_path,
duration: 1200,
in_house: false,
)
end
3.CI测试:
Creating authorization token for App Store Connect API
看到这个输出,恭喜你,已经可以了
0x03 结语
fastlane 对 App Store Connect API,支持的命令可以参考官方文档,但基本可以支持打包,testfight,发布。并且其内部命令,都是优先使用App Store Connect API。