首页 > 解决方案 > 在 iOS 13 上未调用 didConnectPeripheral 委托

问题描述

didConnectPeripheral在 iOS 13 版本上未调用委托。它在 iOS 13 下运行良好。是否需要在 iOS 13 中添加任何内容才能与设备连接?

centralManagerDidUpdateState正在更新,但连接没有调用。我不知道为什么。

我尝试在 Info.plist 文件中添加“始终需要蓝牙”。

标签: iosbluetoothmappingibeacon

解决方案


从 iOS 13 开始,当应用尝试扫描或连接蓝牙设备时,系统会自动提示用户授予应用使用蓝牙的权限。通用对话框中的消息可以通过 Info.plist 中的以下条目添加自定义消息:

<key>NSBluetoothAlwaysUsageDescription</key>
<string>This app uses bluetooth to perform XYZ functions.</string>

如果用户在显示此对话框时拒绝许可,应用程序将无法扫描或连接到蓝牙设备。您的应用程序可能会显示此对话框,而您没有注意到并意外拒绝了权限。

要检查这一点,您可以转到“设置”>“隐私”>“蓝牙”并检查您的应用是否被授予蓝牙权限。


推荐阅读