由于 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】:我会说你至少需要以下能力:
armv7
、arm64
、location-services
和 gps
。
【讨论】:
我还需要在测试目标中添加 UIRequiredDeviceCapabilities 吗? @Mr.bean 是的;我会试一试。 应用程序再次被拒绝,在添加 arm64 时显示错误【参考方案2】:对于我的应用应支持的有效架构存在一些混淆。首先,我删除了 alamofire xcode 项目并添加了 alamofire pod,这将 plist 数量从 5 减少到 2,这正在缓解。
然后我将目标家庭从 1,2 更改为仅 1,因为我的应用仅适用于 iphone。
从支持的有效架构中删除了 i386 架构
如果你检查你的项目,你会发现很多地方来定义部署目标。在整个应用程序中分配相同的部署目标
【讨论】:
以上是关于由于 UIRequiredDeviceCapabilities 键,App Store 拒绝了 App的主要内容,如果未能解决你的问题,请参考以下文章