我有一个在iOS手机上运行的Cordova应用。我正在尝试将此应用的更新发送到App Store,但它被拒绝了。首先,它被拒绝是因为info.plist
包含一行关键字为NSBluetoothPeripheralUsageDescription
的代码,而我的应用程序从未使用过此功能。为了解决此问题,我从info.plist
中删除了此行,并从xCode中的链接框架和库中删除了相应的框架(框架CoreBluetooth.framework
和行NSBluetoothPeripheralUsageDescription
由Cordova Diagnostic Plugin添加),如下图所示:
然而现在我收到一封来自iTunes Connect的电子邮件,上面写着:
- 缺少Info. plist密钥**-此应用尝试访问隐私敏感型数据,但没有使用说明。应用的Info. plist必须包含NSBluetoothPeripheralUsageDescription密钥,该密钥带有一个字符串值,用于向用户解释应用如何使用此数据。
但是我从xCode项目中删除了CoreBluetooth.framework
...
- 我的问题是:**我需要从另一个地方删除这个框架?是否有其他框架能够使用蓝牙导致这个问题?
谢谢你的帮助。
5条答案
按热度按时间8hhllhi21#
打开Info Plist文件并按下+符号在项目的info.plist中添加新键,然后添加此NSBluetoothPeripheralUsageDescription并写入值“解释蓝牙的原因”
检查
下方的屏幕截图
insrf1ej2#
您似乎不能使用以下通用文本字符串:
我们需要进入你的蓝牙连接。
我有这样的东西,并得到拒绝。当我有一个更详细的描述像:
我们需要访问您的蓝牙连接从您的设备上传数据的崩溃报告。
我被批准了。
wz1wpwve3#
描述对于您链接的任何内容或任何框架都是强制性的。如果未提供使用描述,则在尝试访问内容时会生成错误,因此如果您遇到这些错误,则应用一定是在请求这些错误。您应该找出应用或其框架需要这些描述的原因,并将适当的使用描述添加到应用的info.plist中。
或者更理想的情况是,如果您不需要访问,看看是否有办法不请求它(或者使用不必要的框架)。
暂时您可以在info.plist中添加以下描述并提交您的应用程序(以防紧急应用程序更新)
只需打开你的info.plist并相应地添加上面的代码。
p4tfgftt4#
试着在你的列表中添加以下内容。它解决了我的问题。
ugmeyewa5#
我发现这个线程,因为我有同样的问题。
我的经验是,我已经安装了一个蓝牙包与 cordova ,但是,实验失败,并与新的copiles有这个问题。
我检查了package.json,package-lock.json,我删除了所有对我代码的reference,但是,仍然在下降。
然后我检查了Pod捆绑包,找到了蓝牙捆绑包,但仍然失败。
我删除和添加平台ios和仍然下降.
然后我检查项目,在插件文件夹中我有蓝牙插件文件夹。删除,编译并再次工作。
我希望能帮助你。