更新 :
我尝试将一个String值添加到"NSPhotoLibraryUsageDescription"
键
它确实有效。我的TestFlight现在提供了构建版本。
但我想知道为什么Apple Store只允许我为"NSPhotoLibraryUsageDescription"
键而不是"Camera Usage Description"
或"Location When In Use Usage Description"
添加字符串值?
以及如何本地化info.plist。
亲爱的开发人员,
我们发现您最近交付的一个或多个问题" Family Health Tracker"。要处理您的交付,必须纠正以下问题:
此应用尝试在没有使用说明的情况下访问隐私敏感数据。该应用的Info.plist必须包含 NSPhotoLibraryUsageDescription 键,其中包含一个字符串值,向用户解释应用如何使用此数据。
一旦纠正了这些问题,您就可以重新更新已更正的二进制文件。
此致
App Store团队
他们仍然告诉我添加 NSPhotoLibraryUsageDescription
答案 0 :(得分:28)
info.plist
文件的本地化可能非常无用,尤其是在您的应用中使用多种语言时。
本地化NSPhotoLibraryUsageDescription
,NSLocationWhenInUseUsageDescription
或NSCameraUsageDescription
密钥的最简单方法是在InfoPlist.strings
文件中对其进行描述。
*.strings
; InfoPlist
个文件
Localize...
按钮,然后选择默认语言; InfoPlist.strings
文件中添加新记录。例如
用英文写的:NSLocationWhenInUseUsageDescription =“位置使用说明”;
NSPhotoLibraryUsageDescription =“照片使用说明”;
NSCameraUsageDescription =“相机使用说明”;
了解更多信息Apple docs
答案 1 :(得分:7)
答案 2 :(得分:4)
只需将这些行添加到info.plist文件
即可<key>NSPhotoLibraryUsageDescription</key>
<string>Photo Library Access Warning</string> //For NSPhotoLibraryUsageDescription issue.
答案 3 :(得分:2)
本地化Info.plist:
Info.plist
Utilities
,然后点击File inspector
Localize
,点击它。答案 4 :(得分:1)
试试这个对我们有用,
<key>NSPhotoLibraryUsageDescription</key>
<string>This app requires access to the photo library.</string>
有关详细信息,请参阅Best Answer
希望这会对某些人有所帮助。
答案 5 :(得分:0)
我在两个应用程序中遇到了同样的问题,该解决方案通过邮件显示itunnes连接: info.plist 审核您的文件并尝试添加以下字段:
Privacy - Photo Library Usage Description
Bluetooth Sharing - NSBluetoothPeripheralUsageDescription
每个都有一个文字解释其使用的原因。 您可以在此处查看此处 info.plist 中现在需要 iOS 10 的权限: https://blog.xamarin.com/new-ios-10-privacy-permission-settings/
这对我有用。
答案 6 :(得分:0)
missing keys
与某些API相关,这些API需要在.plist键中定义一些使用说明。在添加任何密钥之前,如果您知道您的应用程序没有进行任何特定用途,我建议您查看Apple的此官方guide以识别错误的API类。作为一个例子,我只是在包含UIImagePickerController
的行上发表评论。这足以让Apple获得二元拒绝;而我没有访问用户照片库。验证完此步骤后,您可以继续使用此处提到的其他解决方案。