【发布时间】:2018-09-12 22:04:44
【问题描述】:
我有一个支持 iOS 11/12 和 watchOS 4/5 的 iOS 和 watchOS 应用。我一直在使用 Xcode 10 beta 将构建提交到 App Store Connect for TestFlight,没有问题。今天我使用 Xcode 10 GM 提交了一个构建,我收到了以下电子邮件:
尊敬的开发者,
我们发现您的应用“littlefeed”最近交付的一个或多个问题。请更正以下问题,然后重新上传。
无效的二进制架构 - iOS 3.0 引入了对多种二进制架构的支持。如果您的二进制文件是为多种架构构建的,则您的 Info.plist 必须具有一个值至少为 3.0 的 MinimumOSVersion 键。此外,如果您的应用程序旨在支持早期的 iPhone 和 iPod touch 型号,您的应用程序必须至少包含 armv6 二进制文件;除非在 Info.plist UIRequiredDeviceCapabilities 键中也存在 armv7 所需的设备功能,或者 MinimumOSVersion 键的值为 4.3 或更高,否则将不接受“瘦”仅 armv7 二进制文件。
有关详细信息,请参阅技术问答 QA1707:http://developer.apple.com/iphone/library/qa/qa2010/qa1707.html。
最好的问候,
App Store 团队
问题是,这些信息已经过时了。 MinimumOSVersion 密钥早已被弃用; armv6 是与 iOS 11+ 设备无关的架构;到 QA1707 的链接已失效;等等。Google 和 Stack Overflow 上的所有相关问题往往可以追溯到 2012 年或更早,所以我实际上并不知道问题是什么。我最好的猜测是它与 Apple Watch Series 4 现在是 64 位处理器的事实有关,也许我需要配置我的手表应用程序和手表扩展目标以某种方式来处理它?
如果有人有任何想法,将不胜感激。
【问题讨论】:
-
那么你的最低操作系统版本是多少?它在您的 .plist 中设置正确吗?
-
是的,iOS 应用程序和 iOS 扩展程序中的 11.2,以及 watchOS 应用程序和扩展程序中的 4.0。就像我说的,直到今天将构建提交给 TestFlight 都没有问题。
-
你使用 cocoapods 还是其他依赖管理器?如果是这样,请在下面查看我的答案