![](/img/trans.png)
[英]Why app is rejected with “Missing Purpose String in Info.plist File” for NSBluetoothPeripheralUsageDescription key?
[英]App rejected: Missing Info.plist key “NSBluetoothPeripheralUsageDescription” but framework is not present
我有一个在iOS手机中运行的Cordova应用程序。 我正在尝试将此应用程序的更新发送到App Store,但它被拒绝了。 首先它被拒绝了,因为info.plist
包含一个带有密钥NSBluetoothPeripheralUsageDescription
的行,这个功能从未在我的应用程序中使用。 为了解决这个问题,我从info.plist
删除了这一行,并从CoreBluetooth.framework
Linked Frameworks和Libraries(框架CoreBluetooth.framework
和线路NSBluetoothPeripheralUsageDescription
由Cordova Diagnostic Plugin添加)中删除了相应的框架,如下图所示:
但是现在我收到来自iTunes Connect的电子邮件说:
缺少Info.plist密钥 - 此应用程序尝试在没有使用说明的情况下访问隐私敏感数据。 应用程序的Info.plist必须包含一个NSBluetoothPeripheralUsageDescription键,其中包含一个字符串值,向用户解释应用程序如何使用此数据。
但是我从CoreBluetooth.framework
项目中删除了CoreBluetooth.framework
......
我的问题是:我需要从其他地方删除此框架? 是否有其他框架能够使用蓝牙导致此问题?
感谢帮助。
对于您或您链接的任何内容尝试访问的任何内容,这些描述都是必需的。 如果未提供使用说明,则在尝试访问内容时会生成错误,因此如果您收到这些错误,您的应用必须请求它们。 您应该发现为什么您的应用或其框架需要这些,并在您的应用的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>
只需打开您的info.plist并相应地添加上面的代码。
您似乎无法拥有如下通用文本字符串:
我们需要访问您的蓝牙连接。
我有这样的事情被拒绝了。 当我有一个更详细的描述,如:
我们需要访问您的蓝牙连接才能从您的设备上传数据以进行崩溃报告。
我被批准了。
尝试在下面添加你的plist。 它解决了我的问题。
<config-file parent="NSPhotoLibraryUsageDescription" platform="ios" target="*-Info.plist">
<string>YourAppName would like to store a photo.</string>
</config-file>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.