由于 UIRequiredDeviceCapabilities 键,App Store 拒绝了 App

Posted

技术标签:

【中文标题】由于 UIRequiredDeviceCapabilities 键,App Store 拒绝了 App【英文标题】:App store rejected App because of UIRequiredDeviceCapabilities key 【发布时间】:2016-01-29 10:32:24 【问题描述】:

我将引用苹果文档中的 UIRequiredDeviceCapabilities 声明:

UIRequiredDeviceCapabilities(数组或字典 - ios)让 iTunes 和 App Store 知道应用程序需要哪些与设备相关的功能才能运行。 iTunes 和移动 App Store 使用此列表来阻止客户在不支持所列功能的设备上安装应用程序。

如果使用数组,给定键的存在表示 需要相应的功能。如果你使用字典,你必须 为每个键指定一个布尔值。如果这个键的值为 是的,该功能是必需的。如果键的值为假,则 功能不得出现在设备上。在这两种情况下,省略 键表示该功能不是必需的,但该应用程序是 如果该功能存在则能够运行

armv7 如果您的应用仅针对 armv7 编译,请包含此键 指令系统。 最低 ios 版本:iOS 3.1

location-services 如果您的应用需要(或 明确禁止)检索设备的当前的能力 使用核心位置框架的位置。 (这个键是指 一般定位服务功能。如果您特别需要 GPS 级别 准确性,您还应该包括 gps 密钥。)最低 ios 版本:iOS 3.0

apple doc link for UIRequiredDeviceCapabilities

我在 info.plist 的 UIRequiredDeviceCapabilities 数组中有一个键 armv7 用于我的所有目标,最低 ios 版本设置为 8.0支持的架构:armv7, arm64所需功能:armv7 ,应用程序版本:1.0

现在,我正在使用谷歌地图的 coreLocation 服务来查找应用程序中某个地方的纬度。我是否还需要添加 location-services 键,它会有所帮助吗?

我几天来一直在研究这个主题,但找不到答案。

【问题讨论】:

【参考方案1】:

我会说你至少需要以下能力:

armv7arm64location-servicesgps

【讨论】:

我还需要在测试目标中添加 UIRequiredDeviceCapabilities 吗? @Mr.bean 是的;我会试一试。 应用程序再次被拒绝,在添加 arm64 时显示错误【参考方案2】:

对于我的应用应支持的有效架构存在一些混淆。首先,我删除了 alamofire xcode 项目并添加了 alamofire pod,这将 plist 数量从 5 减少到 2,这正在缓解。

然后我将目标家庭从 1,2 更改为仅 1,因为我的应用仅适用于 iphone。

从支持的有效架构中删除了 i386 架构

如果你检查你的项目,你会发现很多地方来定义部署目标。在整个应用程序中分配相同的部署目标

【讨论】:

以上是关于由于 UIRequiredDeviceCapabilities 键,App Store 拒绝了 App的主要内容,如果未能解决你的问题,请参考以下文章

由于目标计算机积极拒绝,无法连接。

我在Android Studio工作,由于系统崩溃,一个或多个功能由于频繁的系统崩溃而崩溃。我应该如何恢复它?

SQL Server 服务由于登录失败而无法启动怎么办

Fiddler由于目标计算机积极拒绝,无法连接的解决方法

为啥我收到“由于保护级别而无法访问”错误?

SVN 由于目标机器积极拒绝,无法连接