【问题标题】:Xcode 11 beta can't upload app to TestFlightXcode 11 beta 无法将应用上传到 TestFlight
【发布时间】:2019-12-23 03:08:08
【问题描述】:

我正在尝试将我的应用分发到 TestFlight,目前我的应用需要 iOS 13 以及 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 模拟器架构的框架来解决的一个问题,但是第二个指出核心 NFC 权利在 iOS13 中是不允许的,这是没有意义的,因为它们只是在 iOS13 中允许。第三个和第四个错误也没有意义,因为我使用的是最新的 Xcode(当然它是 beta 版)并且它是用苹果链接器构建的。

我也尝试过为开发而分发,但当我这样做时,我只会得到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}'."

【问题讨论】:

  • 修复第一个问题,看看其他问题是否消失 - 您无法上传包含 x86 的构建
  • @Paulw11 更新问题
  • 您可能需要将TAG 添加到您的 plist 中的该数组中。尝试在 Xcode 中删除并重新添加 NFC 功能。
  • @Paulw11 不确定你的意思是我应该在哪里添加TAG,我尝试放入ISO7816 application identifiers for NFC Tag Reader Session 数组,但这没有帮助。还尝试在没有运气的情况下删除并重新添加该功能:(
  • 那个 plist 键是一个数组。可以包含TAG和NDEF

标签: ios xcode testflight beta


【解决方案1】:

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

  1. 找到您的 Entitlements-Release.plist 文件。您可以在此处找到位置:“签名 -> 代码签名权利”。通常是“App Name/Entitlements-Release.plist”

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

  1. 存档和上传

【讨论】:

  • 我的项目是使用 Xcode 11 而不是 Xcode 10 构建的,而且我正在编写的应用程序是 NDEF 标签阅读器应用程序,所以我不知道我是否要删除该权利
  • 嘿,我的应用仍然能够读取格式数组中只有 TAG 的 NDEF 令牌。
  • 哇,刚刚试了一下,居然成功了!不知道为什么他们不允许您放置该权利,但他们仍然允许您使用 NDEF 标签...但是哦,好吧!
【解决方案2】:

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

【讨论】:

  • 这很奇怪,使用我上传的构建时我没有收到任何错误
  • 您的应用是否可以访问与 NDEF 相关的功能?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-03-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-27
  • 2016-01-02
  • 1970-01-01
相关资源
最近更新 更多