我正在尝试将应用程序发布到应用程序商店,但由于2FA现在对苹果帐户是强制性的,所以在将应用程序上传到应用程序商店时,我遇到了一个问题。
我试着按照this link使用FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD,但它不起作用。

我还在服务连接中添加了特定于应用程序的密码。

在其中添加了应用程序特定的密码后,得到了以下错误:另外,它说您可以在环境变量中使用FASTLANE_PASSWORD传递密码,但我不知道如何传递它。

我看了一下下面的答案
但是它对我的Two-factor Authentication With Fastlane DevOps没有帮助。有没有其他方法可以让它工作呢?
发布于 2021-04-05 04:38:00
当你下载API key时,你会得到一个.p8证书(例如AuthKey_426ZIF325NY.p8),但是很可能你不能将这个文件保存为一个管道变量,但是你可以将它保存为一个字符串。
打开终端并进入你的代码,然后用一些文本编辑器(首选)打开你的文件,例如vim AuthKey_426ZIF325NY.p8或nano AuthKey_426ZIF325NY.p8,但你也可以使用任何你熟悉的编辑器(例如VS Download Folder )。
你会得到类似这样的结果:

您需要将此键保存为字符串,但您不能只是复制内容,因为有些\n符号您看不到,并且您不会使用普通的复制/粘贴来复制它们。因此,您需要手动添加它们并删除线路刹车:
之前:
-----BEGIN PRIVATE KEY-----
GTAGTAgEAMBMGByqGSM49AgEGTTqGSM49AwEHBHkwdwIBAQQg6YnlZ7oLdukc99KL
TZBVNjYeCpNQtZh3uY2SZw6jh+igCgYIKoZIzj0DAQehRANCAAQ2dMU6ss1I3760
OLjYhPBLn5f1T9ZXVbI4kFcKARM/JfPOKh7rK95LHoEOGdpBQHEaAmZo0x2pnF1+
AhD4UTiE
-----END PRIVATE KEY-----之后:
"-----BEGIN PRIVATE KEY-----\nGTAGTAgEAMBMGByqGSM49AgEGTTqGSM49AwEHBHkwdwIBAQQg6YnlZ7oLdukc99KL\nTZBVNjYeCpNQtZh3uY2SZw6jh+igCgYIKoZIzj0DAQehRANCAAQ2dMU6ss1I3760\nOLjYhPBLn5f1T9ZXVbI4kFcKARM/JfPOKh7rK95LHoEOGdpBQHEaAmZo0x2pnF1+\n
AhD4UTiE\n-----END PRIVATE KEY-----"现在将这个"After“参数(但使用您的证书)保存为一个名为key的管道变量。您上传作业(上传到TestFlight)需要访问此证书和其他两个变量。
如果你愿意,你可以在这里张贴你的快速通道上传通道,我会写给你额外的部分。
发布于 2021-03-15 10:55:45
将这三个变量都设置为环境变量如何?
FASTLANE_PASSWORDFASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORDFASTLANE_SESSION此外,请注意,与普通管道变量不同,秘密管道变量在管道运行过程中不会自动映射为agents上的环境变量。您需要显式地将秘密变量映射为环境变量。详情请参考。
更新
FASTLANE_PASSWORD应为您的iCloud帐户(或App Store Connect帐户)的密码。然而,在CI/CD流水线中通常不是必需的。
您可以尝试使用以下命令行:
fastlane spaceauth -u <your-email-address>此命令行可以预先为您的Apple ID生成登录会话。然后,您需要将生成的值存储在代理机器上的FASTLANE_SESSION环境变量中。
发布于 2021-03-28 17:53:45
有几个解决方案,但您可以使用管道变量例如。
名称:key_id值:<You will find this in AppStoreConnect>
名称:issuer_id值:<You will find this in AppStoreConnect>
名称:key值:<Open the .p8 Certificate in editor and add '\n' for every newline>
https://stackoverflow.com/questions/66596384
复制相似问题