苹果的AppleID现在都开启了两步验证,在登录新设备或者进行一些操作时都需要提供二次验证的验证码(已登录设备、绑定手机号、绑定邮箱接收),这个功能提高了AppleID的安全性,但也给自动化打包带来了一些困扰,我们的打包过程会被中断,下面就简单介绍两种可以在fastlane中移除苹果两步验证的方案。
参考文档:http://docs.fastlane.tools/getting-started/ios/authentication/
使用应用特殊密码
点击链接appleid.apple.com/account/manage进入AppleID管理页面,点击App专用密码,然后生成。(此密码仅展示一次,请注意保存)
将专用密码配置在fastlane的环境变量当中即可1
ENV["FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD"] = "xxxx-xxxx-xxxx-xxxx"
此种方式仅支持upload_to_app_store
、upload_to_testflight
等上传二进制动作,其他的与App Store Connect交互的动作不支持。
使用App Store Connect API key(推荐)
点击https://appstoreconnect.apple.com/access/api进入App Store Connect用户与访问下面的Keys页面,生成一个API key(请确保自己有权限使用这个功能,如果看不到这个tab,也可以让账号持有者帮你创建),获得key_id
,issuer_id
并下载API Key的p8文件(此文件仅能下载一次,请注意保存)
在调用动作之前,向Apple请求获得api_key,并使用即可
1 | lane :release do |
本人更推荐自动将api_key自动写入上下文的这种写法,fastlane的标准动作都会去上下文当中取api_key,写法上更方便一点
1 | lane :release do |