App store因UIRequiredDeviceCapabilities键而拒绝App

时间:2016-01-29 10:32:25

标签: ios iphone app-store info.plist capability

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

  

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

     

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

     

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

     

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

apple doc link for UIRequiredDeviceCapabilities

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

现在,我正在使用谷歌地图的核心位置服务来查找应用程序中的一个位置。我是否还需要添加位置服务键,这会有所帮助。

我从几天开始研究这个话题,但找不到答案。

2 个答案:

答案 0 :(得分:2)

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

armv7arm64location-servicesgps

答案 1 :(得分:2)

我的应用应支持的有效架构存在一些混乱。首先,我删除了alamofire xcode项目并添加了alamofire pod,这将plist数字从5减少到2,这是令人放心的。

然后我将目标家庭从1,2改为<1> ,因为我的应用仅限iphone。

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

如果您要检查项目,您会找到定义部署目标的各个位置。在整个应用程序中分配相同的部署目标