由于 UIRequiredDeviceCapabilities 键,应用商店拒绝了应用

App store rejected App because of UIRequiredDeviceCapabilities key

我将引用 UIRequiredDeviceCapabilities 的苹果文档,其中指出:

UIRequiredDeviceCapabilities (Array or Dictionary - iOS) lets iTunes and the App Store know which device-related features an app requires in order to run. iTunes and the mobile App Store use this list to prevent customers from installing apps on a device that does not support the listed capabilities.

If you use an array, the presence of a given key indicates the corresponding feature is required. If you use a dictionary, you must specify a Boolean value for each key. If the value of this key is true, the feature is required. If the value of the key is false, the feature must not be present on the device. In both cases, omitting a key indicates that the feature is not required but that the app is able to run if the feature is present

armv7 Include this key if your app is compiled only for the armv7 instruction set. minimum ios version : iOS 3.1

location-services Include this key if your app requires (or specifically prohibits) the ability to retrieve the device’s current location using the Core Location framework. (This key refers to the general location services feature. If you specifically need GPS-level accuracy, you should also include the gps key.) minimum ios version : iOS 3.0

apple doc link for UIRequiredDeviceCapabilities

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

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

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

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

armv7arm64location-servicesgps.

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

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

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

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