应用程序因缺少使用说明而被拒绝 (Xcode8) [英] App rejected due to missing usage descriptions (Xcode8)

查看:27
本文介绍了应用程序因缺少使用说明而被拒绝 (Xcode8)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

所以我今天收到这封邮件,说我的应用程序的最新版本由于缺少一些使用说明而被 iTunes Connect 拒绝.准确地说:

<块引用>

此应用尝试在没有使用说明的情况下访问隐私敏感数据.应用程序的 Info.plist 必须包含一个 NSContactsUsageDescription 键和一个字符串值,向用户解释应用程序如何使用这些数据.

此应用尝试在没有使用说明的情况下访问隐私敏感数据.应用的 Info.plist 必须包含一个 NSCalendarsUsageDescription 键和一个字符串值,向用户解释应用如何使用这些数据.

此应用尝试在没有使用说明的情况下访问隐私敏感数据.应用的 Info.plist 必须包含一个 NSPhotoLibraryUsageDescription 键和一个字符串值,向用户解释应用如何使用这些数据.

此应用尝试在没有使用说明的情况下访问隐私敏感数据.应用的 Info.plist 必须包含一个 NSBluetoothPeripheralUsageDescription 键和一个字符串值,向用户解释应用如何使用这些数据.

此应用尝试在没有使用说明的情况下访问隐私敏感数据.应用程序的 Info.plist 必须包含一个 NSMicrophoneUsageDescription 键和一个字符串值,向用户解释应用程序如何使用这些数据.

此应用尝试在没有使用说明的情况下访问隐私敏感数据.应用程序的 Info.plist 必须包含一个 NSMotionUsageDescription 键和一个字符串值,向用户解释应用程序如何使用这些数据.

一旦这些问题得到纠正,您就可以重新交付更正后的二进制文件.

我发现这些在 iOS 10 中已经成为强制性的,但唯一的问题是我的应用程序没有请求访问其中任何一个的权限.>

是不是因为我的一个依赖项(Cocoapods)可能包含一些代码来请求这些权限?或者即使我从不要求查看用户日历、联系人等,这些描述是否也是强制性的?

解决方案

对于您或您链接的任何框架试图访问的任何内容,这些描述都是强制性的.如果未提供使用说明,则会在尝试访问内容时生成错误,因此如果您收到这些错误,您的应用程序必须请求它们.您应该了解您的应用或其框架为何需要这些,并将适当的使用说明添加到您应用的 info.plist.

或者更理想的是,如果您不需要访问权限,看看是否有办法不请求它(或使用不必要的框架).

So I got this mail today saying that the latest build of my app was rejected by iTunes Connect due to some missing usage descriptions. To be exact:

This app attempts to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSContactsUsageDescription key with a string value explaining to the user how the app uses this data.

This app attempts to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSCalendarsUsageDescription key with a string value explaining to the user how the app uses this data.

This app attempts to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSPhotoLibraryUsageDescription key with a string value explaining to the user how the app uses this data.

This app attempts to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSBluetoothPeripheralUsageDescription key with a string value explaining to the user how the app uses this data.

This app attempts to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSMicrophoneUsageDescription key with a string value explaining to the user how the app uses this data.

This app attempts to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSMotionUsageDescription key with a string value explaining to the user how the app uses this data.

Once these issues have been corrected, you can then redeliver the corrected binary.

I figured out that these have become mandatory with iOS 10, but the only problem is that my app is not requesting permission to access any of these.. I thought the description only was mandatory if you actually requested a permission?

Is it because one of my dependencies (Cocoapods) might contain some code to request these permissions? Or are these descriptions mandatory even if I never request to see the users calendar, contacts, etc?

解决方案

The descriptions are mandatory for any content you or any frameworks you link against attempt to access. The errors are generated upon an attempt to access the content if a usage description was not supplied, so if you're getting those errors your app must be requesting them. You should discover why your app or its frameworks require these and add appropriate usage descriptions to your app's info.plist.

Or more ideally, if you don't need access, see if there's a way to not request it (or use frameworks that do unnecessarily).

这篇关于应用程序因缺少使用说明而被拒绝 (Xcode8)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆