我有一个Nativescript应用程序,我想发布到。我使用的CI/CD系统设置如下:
这个系统过去运转良好,直到2021年3月苹果开始对所有与交互的账户强制使用2FA。
从那时起,命令"tns发布ios“无法将二进制文件发送到Apple,提到了身份验证错误,并提示我在所使用的Apple上启用2FA。
为了使我的CI/CD系统再次工作,我已经完成了以下步骤:
在我前面提到的特定Apple上启用了2FA,software
工具"tns apple-login“使用,用于为这个苹果ID
e 223”下面的文档https://v7.docs.nativescript.org/angular/tooling/docs-cli/publishing/publish-ios中。
完成此操作后,我可以使用我的CI/CD系统成功地在上构建和上传一个iOS应用程序。几个小时。在这种情况发生后,我必须使用"tns苹果登录“重新生成一个新的会话令牌。
对于"tns发布ios“命令的2FA支持似乎是一种后遗症。我无法想象每次我想上传二进制文件时都要登录是一个很好的长期解决方案。
还有其他人在Nativescript应用程序上遇到过这个问题吗?使用CI/CD系统将已经构建的.ipa文件上传到alternatives有什么好的选择吗?
发布于 2022-02-24 18:13:41
除了为其他流浪者提供这个问题的答案外,以下是我为解决问题所做的工作。
从那时起,我们已经停止使用tns发布ios,它显然是为手工使用而设计的。谢天谢地,有解决办法。
苹果在CI/CD系统上处理2FA的解决方案是使用应用商店连接API。
关于它是如何工作的更多信息,在这里:https://developer.apple.com/documentation/appstoreconnectapi
此外,支持用于CI/CD系统的App连接API的tns发布ios的一个很好的替代方案是Fastlane。
他们为这个用例提供了一个文档页面,我遵循了这个页面:https://docs.fastlane.tools/app-store-connect-api/
https://stackoverflow.com/questions/67269889
复制相似问题