为什么应用程序因 NSBluetoothPeripheralUsageDescription 键的“Info.plist 文件中缺少目的字符串”而被拒绝?

Iva*_*van 8 xcode bluetooth objective-c app-store ios

所以我有 info.plist :

<key>NSBluetoothPeripheralUsageDescription</key> <string>Bluetooth is required bla bla.</string>

我什至已经将它本地化为两种支持的语言。

然后添加 InfoPlist.strings 文件并添加:

"NSBluetoothPeripheralUsageDescription" = "Bluetooth is required bla bla bla";
Run Code Online (Sandbox Code Playgroud)

并将其本地化...

在应用程序目标的功能中,我为后台模式添加了蓝牙。

我只使用标准的 BLE api,没有使用外部库。

为什么我总是收到一封电子邮件:

亲爱的开发者,

我们发现了您的应用程序“bla”最近交付的一个或多个问题。请更正以下问题,然后重新上传。

Info.plist 文件中缺少用途字符串 - 您的应用程序代码引用了一个或多个访问敏感用户数据的 API。应用程序的 Info.plist 文件应该包含一个 NSBluetoothPeripheralUsageDescription 键和一个面向用户的目的字符串,清楚而完整地解释你的应用程序为什么需要数据。

?

Vat*_*l K 6

您应该添加更多说明,说明为何使用蓝牙作为关键 NSBluetoothPeripheralUsageDescription。

应用程序提供商必须分享您使用特定服务的具体原因。

<key>NSBluetoothPeripheralUsageDescription</key>
<string>Bluetooth is used to communicate with BLE devices.</string>
Run Code Online (Sandbox Code Playgroud)

此外,您还需要检查哪个是与您的项目设置关联的 .plist 文件。

您可以通过 Info.plist 文件部分检查您的目标设置。

选择目标 -> 构建设置 -> 打包 -> Info.plist 文件


Iva*_*van 2

通过将使用说明字符串也添加到“自定义 iOS 目标属性”来解决。

  • “自定义 iOS 目标属性”是什么意思? (2认同)