我假设将NSBluetoothPeripheralUsageDescription
放入info.plist会自动触发警报视图(在适当的时候),这将显示InfoPlist.strings中定义的(本地化)错误(当前语言) )。我假设这样的东西,因为来自文档的声明:
NSBluetoothPeripheralUsageDescription(String - iOS)此密钥允许 您描述了您的应用使用蓝牙的原因。当系统 提示用户允许使用,即您为此提供的值 密钥显示为警报的一部分。
看看这部分:
当系统提示用户允许使用时...
IMO,这意味着警报将自动弹出,而不是由我在代码中手动弹出。
我正在使用:
CoreBluetooth
框架及其许多类如:
CBPeripheral
,CBCharacteristic
,CBCentralManager
等等,所以我猜这个警告会弹出来。当然,我可以在第一次使用蓝牙时自动弹出警报视图,但我认为这些info.plist键的重点是,实际上是自动警告用户......
答案 0 :(得分:0)
不太......
我会讨厌让iOS在应用首次运行时自动弹出每个权限请求对话框。让我更好地展示“我可以使用相机吗?”用户第一次到达我的应用程序使用相机的部分,以及“当我使用该部分时,我可以使用蓝牙”。
因此,字符串是必需的,因此用户不会看到通用的“应用程序想要使用蓝牙”请求。相反,您必须提供适当的信息性字符串(当然,取决于评论者的意见)。
但在你希望它显示之前,它不会呈现给用户。
答案 1 :(得分:0)
也许您已经回答了系统弹出窗口并在iOS设置中有一个条目?在这种情况下,iOS将不再询问。