我有一个iOS和watchOS应用程序,支持iOS 11/12和watchOS 4/5.我一直在使用Xcode 10测试版向AppFall 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位处理器的事实有关,也许我需要配置我的手表应用程序并以某种方式观看扩展目标来处理它?
如果有人有任何想法,我们将不胜感激.
我们遇到了同样的问题并通过将watchextension和watchapp的部署Target设置为3.0(或更高)来修复它.现在还要确保手表中使用的每个框架都将部署目标设置为3.0(或更高).因此,如果您使用cocoapods(或任何其他依赖项管理器),请确保通过cocoapods安装的框架也将watch设置的部署目标设置为3.0.