Kim*_*afr 90 itunesconnect ios ios10 xcode8
所以我今天收到这封邮件说我的应用程序的最新版本被iTunes Connect拒绝了,原因是一些用法描述丢失了.确切地说:
此应用程序尝试在没有使用说明的情况下访问隐私敏感数据.应用程序的Info.plist必须包含一个NSContactsUsageDescription键,其中包含一个字符串值,向用户解释应用程序如何使用此数据.
此应用程序尝试在没有使用说明的情况下访问隐私敏感数据.应用程序的Info.plist必须包含一个NSCalendarsUsageDescription键,其中包含一个字符串值,向用户解释应用程序如何使用此数据.
此应用程序尝试在没有使用说明的情况下访问隐私敏感数据.应用程序的Info.plist必须包含一个NSPhotoLibraryUsageDescription键,其中包含一个字符串值,向用户解释应用程序如何使用此数据.
此应用程序尝试在没有使用说明的情况下访问隐私敏感数据.应用程序的Info.plist必须包含一个NSBluetoothPeripheralUsageDescription键,其中包含一个字符串值,向用户解释应用程序如何使用此数据.
此应用程序尝试在没有使用说明的情况下访问隐私敏感数据.应用程序的Info.plist必须包含一个NSMicrophoneUsageDescription键,其中包含一个字符串值,向用户解释应用程序如何使用此数据.
此应用程序尝试在没有使用说明的情况下访问隐私敏感数据.应用程序的Info.plist必须包含一个NSMotionUsageDescription键,其中包含一个字符串值,向用户解释应用程序如何使用此数据.
一旦纠正了这些问题,您就可以重新更新已更正的二进制文件.
我发现这些已经成为iOS 10的强制要求,但唯一的问题是我的应用程序没有请求访问这些中的任何一个的权限..我认为只有在您真正请求许可时才需要说明吗?
是因为我的一个依赖项(Cocoapods)可能包含一些代码来请求这些权限吗?或者即使我从未要求查看用户日历,联系人等,这些描述是否必须?
Mit*_*iya 140
iOS 10必须在info.plist中添加权限才能查看此BLOG: - settings-in-ios-10你明白了.
添加权限在info.plist中你的文件基本的错误日志.
NSCameraUsageDescription
<key>NSCameraUsageDescription</key>
<string>$(PRODUCT_NAME) camera use.</string>
Run Code Online (Sandbox Code Playgroud)
NSContactsUsageDescription
<key>NSContactsUsageDescription</key>
<string>$(PRODUCT_NAME) contacts use.</string>
Run Code Online (Sandbox Code Playgroud)
NSPhotoLibraryUsageDescription
<key>NSPhotoLibraryUsageDescription</key>
<string>$(PRODUCT_NAME) photos and video use.</string>
Run Code Online (Sandbox Code Playgroud)
NSBluetoothPeripheralUsageDescription
<key>NSBluetoothPeripheralUsageDescription</key>
<string>$(PRODUCT_NAME) bluetooth use.</string>
Run Code Online (Sandbox Code Playgroud)
NSMicrophoneUsageDescription
<key>NSMicrophoneUsageDescription</key>
<string>$(PRODUCT_NAME) microphone use.</string>
Run Code Online (Sandbox Code Playgroud)
NSMotionUsageDescription
<key>NSMotionUsageDescription</key>
<string>$(PRODUCT_NAME) motion use.</string>
Run Code Online (Sandbox Code Playgroud)
NSLocationAlwaysUsageDescription
<key>NSLocationAlwaysUsageDescription</key>
<string>$(PRODUCT_NAME) location use.</string>
Run Code Online (Sandbox Code Playgroud)
NSLocationUsageDescription
<key>NSLocationUsageDescription</key>
<string>$(PRODUCT_NAME) location use.</string>
Run Code Online (Sandbox Code Playgroud)
NSLocationWhenInUseUsageDescription
<key>NSLocationWhenInUseUsageDescription</key>
<string>$(PRODUCT_NAME) location use.</string>
Run Code Online (Sandbox Code Playgroud)
NSRemindersUsageDescription
<key>NSRemindersUsageDescription</key>
<string>$(PRODUCT_NAME) reminders use.</string>
Run Code Online (Sandbox Code Playgroud)
NSSiriUsageDescription
<key>NSSiriUsageDescription</key>
<string>$(PRODUCT_NAME) siri use.</string>
Run Code Online (Sandbox Code Playgroud)
NSVideoSubscriberAccountUsageDescription
<key>NSVideoSubscriberAccountUsageDescription</key>
<string>$(PRODUCT_NAME) video use.</string>
Run Code Online (Sandbox Code Playgroud)
NSSpeechRecognitionUsageDescription
<key>NSSpeechRecognitionUsageDescription</key>
<string>$(PRODUCT_NAME) speech recognition use.</string>
Run Code Online (Sandbox Code Playgroud)
NSCalendarsUsageDescription
<key>NSCalendarsUsageDescription</key>
<string>$(PRODUCT_NAME) user your calendar.</string>
Run Code Online (Sandbox Code Playgroud)
Mat*_*man 33
对于您或您链接的任何内容尝试访问的任何内容,这些描述都是必需的.如果未提供使用说明,则在尝试访问内容时会生成错误,因此如果您收到这些错误,您的应用必须请求它们.您应该发现为什么您的应用或其框架需要这些,并在您的应用的info.plist中添加适当的使用说明.
或者更理想的情况是,如果您不需要访问权限,请查看是否有办法不请求它(或使用不必要的框架).
您可以添加info.plist,如:
<key>NSCalendarsUsageDescription</key>
<string>Explain the reasons for accessing...</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>Explain the reasons for accessing...</string>
<key>NSBluetoothPeripheralUsageDescription</key>
<string>Explain the reasons for accessing...</string>
Run Code Online (Sandbox Code Playgroud)
等等
希望会帮助别人......
我遇到了同样的问题,看来如果您链接的任何框架都有要求此权限的代码(即使您的应用从不请求它们),也需要使用说明.但根据我的测试,如果您不请求它们,它们将不会出现在您的应用的权限列表中.
| 归档时间: |
|
| 查看次数: |
75626 次 |
| 最近记录: |