xcode 拒绝的应用程序:缺少信息plist键“NSBluetoothPeripheralUsageDescription”,但框架不存在

u2nhd7ah  于 2023-02-25  发布在  其他
关注(0)|答案(5)|浏览(188)

我有一个在iOS手机上运行的Cordova应用。我正在尝试将此应用的更新发送到App Store,但它被拒绝了。首先,它被拒绝是因为info.plist包含一行关键字为NSBluetoothPeripheralUsageDescription的代码,而我的应用程序从未使用过此功能。为了解决此问题,我从info.plist中删除了此行,并从xCode中的链接框架和库中删除了相应的框架(框架CoreBluetooth.framework和行NSBluetoothPeripheralUsageDescriptionCordova Diagnostic Plugin添加),如下图所示:

然而现在我收到一封来自iTunes Connect的电子邮件,上面写着:

    • 缺少Info. plist密钥**-此应用尝试访问隐私敏感型数据,但没有使用说明。应用的Info. plist必须包含NSBluetoothPeripheralUsageDescription密钥,该密钥带有一个字符串值,用于向用户解释应用如何使用此数据。

但是我从xCode项目中删除了CoreBluetooth.framework ...

    • 我的问题是:**我需要从另一个地方删除这个框架?是否有其他框架能够使用蓝牙导致这个问题?

谢谢你的帮助。

8hhllhi2

8hhllhi21#

打开Info Plist文件并按下+符号在项目的info.plist中添加新键,然后添加此NSBluetoothPeripheralUsageDescription并写入值“解释蓝牙的原因”
检查

下方的屏幕截图

insrf1ej

insrf1ej2#

您似乎不能使用以下通用文本字符串:
我们需要进入你的蓝牙连接。
我有这样的东西,并得到拒绝。当我有一个更详细的描述像:
我们需要访问您的蓝牙连接从您的设备上传数据的崩溃报告。
我被批准了。

wz1wpwve

wz1wpwve3#

描述对于您链接的任何内容或任何框架都是强制性的。如果未提供使用描述,则在尝试访问内容时会生成错误,因此如果您遇到这些错误,则应用一定是在请求这些错误。您应该找出应用或其框架需要这些描述的原因,并将适当的使用描述添加到应用的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并相应地添加上面的代码。

p4tfgftt

p4tfgftt4#

试着在你的列表中添加以下内容。它解决了我的问题。

<config-file parent="NSPhotoLibraryUsageDescription" platform="ios" target="*-Info.plist">
        <string>YourAppName would like to store a photo.</string>
    </config-file>
ugmeyewa

ugmeyewa5#

我发现这个线程,因为我有同样的问题。
我的经验是,我已经安装了一个蓝牙包与 cordova ,但是,实验失败,并与新的copiles有这个问题。
我检查了package.json,package-lock.json,我删除了所有对我代码的reference,但是,仍然在下降。
然后我检查了Pod捆绑包,找到了蓝牙捆绑包,但仍然失败。
我删除和添加平台ios和仍然下降.
然后我检查项目,在插件文件夹中我有蓝牙插件文件夹。删除,编译并再次工作。
我希望能帮助你。

相关问题