首页 > 解决方案 > Nativescript tns 发布 ios 无法可靠运行,因为 Apple 在 App Store Connect 上强制执行 2FA

问题描述

我有一个 Nativescript 应用程序,我想将它发布到 App Store Connect。我正在使用这样的 CI/CD 系统设置:

该系统过去运行良好,直到 Apple 于 2021 年 3 月开始强制所有与 App Store Connect 交互的帐户执行 2FA。

从那时起,命令“ tns publish ios ”一直无法将二进制文件发送到 App Store Connect,提示身份验证错误,并提示我在我使用的 Apple ID 上启用 2FA。

我已完成以下步骤以使我的 CI/CD 系统再次工作:

完成此操作后,我可以使用我的 CI/CD 系统在 App Store Connect 上成功构建和上传 iOS 应用程序构建......几个小时。发生这种情况后,我必须使用“ tns apple-login ”重新生成一个新的会话令牌。

对“ tns publish ios ”命令的 2FA 支持似乎是事后诸葛亮。我无法想象每次我想上传二进制文件时都必须登录是一个很好的长期解决方案。

还有其他人对 Nativescript 应用程序有这个问题吗?使用 CI/CD 系统将已构建的 .ipa 文件上传到 App Store Connect 有什么好的替代方法吗?

标签: iosnativescriptpublish

解决方案


只是为了为其他流浪者提供这个问题的答案,这就是我为解决我的问题所做的事情。

从那以后我们停止使用tns publish ios,它显然是为手动使用而设计的。值得庆幸的是,那里有解决方案。

Apple 在 CI/CD 系统上处理 2FA 的解决方案是使用App Store Connect API

有关其工作原理的更多信息:https ://developer.apple.com/documentation/appstoreconnectapi

此外,支持 CI/CD 系统的 App Store Connect API 的tns publish ios的一个很好的替代品是Fastlane

他们有这个用例的文档页面,我遵循了:https ://docs.fastlane.tools/app-store-connect-api/


推荐阅读