Xcode 11 beta 无法将应用上传到 TestFlight

Xcode 11 beta can't upload app to TestFlight

我正在尝试将我的应用分发到 TestFlight,目前我的应用需要 iOS13 以及 NFC 访问。

我不打算在 iOS 13 测试版出来之前发布我的应用程序,但是我希望我的 QA 团队能够测试它。

我可以从 Xcode 11 beta 构建和存档应用程序,但是如果我尝试上传它,我会收到以下错误:

App Store Connect Operation Error
ERROR ITMS-90087: "Unsupported Architectures. The executable for myappsname.app/Frameworks/SomeNFCFrameworkIWrote.framework contains unsupported architectures '[x86_64]'."

App Store Connect Operation Error
ERROR ITMS-90778: "Invalid entitlement for core nfc framework. The sdk version '13.0' and min OS version '13.0' are not compatible for the entitlement '{com.apple.developer.nfc.readersession.formats}' because '{NDEF is disallowed}'."

App Store Connect Operation Error
ERROR ITMS-90209: "Invalid Segment Alignment. The app binary at 'myappsname.app/Frameworks/SomeNFCFrameworkIWrote.framework/SomeNFCFrameworkIWrote' does not have proper segment alignment. Try rebuilding the app with the latest Xcode version."

App Store Connect Operation Error
ERROR ITMS-90125: "The binary is invalid. The encryption info in the LC_ENCRYPTION_INFO load command is either missing or invalid, or the binary is already encrypted. This binary does not seem to have been built with Apple's linker."

第一个是我可以通过不使用包含 iOS 模拟器架构的框架来修复的,但是第二个是 iOS 中不允许核心 NFC 权利13 这没有意义,因为它们只允许在 iOS13 中使用。第三个和第四个错误也没有意义,因为我使用的是最新的Xcode(当然它处于测试阶段)并且它是用苹果链接器构建的。

我也尝试过为开发分发,但当我这样做时,我只得到 IPA processing failed

有什么方法可以分发我的 iOS 13 应用程序进行内部测试吗?


更新:解决第一个问题后,我现在只收到此错误(与上面的第二个问题相同)

ERROR ITMS-90778: "Invalid entitlement for core nfc framework. The sdk version '13.0' and min OS version '13.0' are not compatible for the entitlement '{com.apple.developer.nfc.readersession.formats}' because '{NDEF is disallowed}'."

您似乎在尝试使用 Xcode10 生成的项目。您可以试试这个吗:

  1. 找到您的 Entitlements-Release.plist 文件。您可以在此处找到位置:"Signing -> Code Signing Entitlements"。通常是"App Name/Entitlements-Release.plist"

  2. Entitlements-Release.plist 文件中删除 "NDEF"。

  1. 存档和上传

我已经尝试过上述解决方案,成功将应用程序上传到 TestFlight,但是当测试人员在 TestFlight 中下载应用程序时,他们会出错。 原因似乎是因为从 Entitlements-Release.plist 文件中删除了 "NDEF"。