在 iOS 13 上未调用 didConnectPeripheral 委托
Posted
技术标签:
【中文标题】在 iOS 13 上未调用 didConnectPeripheral 委托【英文标题】:didConnectPeripheral delegate is not being called on iOS 13 【发布时间】:2020-02-14 09:18:32 【问题描述】:didConnectPeripheral
委托在 ios 13 版本上没有被调用。它在 iOS 13 下运行良好。是否需要在 iOS 13 中添加任何内容才能与设备连接?
centralManagerDidUpdateState
正在更新,但 connect 没有调用。我不知道为什么。
我尝试在 Info.plist 文件中添加“始终需要蓝牙”。
【问题讨论】:
【参考方案1】:从 iOS 13 开始,当应用尝试扫描或连接蓝牙设备时,系统会自动提示用户授予应用使用蓝牙的权限。通用对话框中的消息可以通过 Info.plist 中的以下条目添加自定义消息:
<key>NSBluetoothAlwaysUsageDescription</key>
<string>This app uses bluetooth to perform XYZ functions.</string>
如果用户在显示此对话框时拒绝许可,应用程序将无法扫描或连接到蓝牙设备。可能是您的应用显示了此对话框,而您没有注意到并意外拒绝了权限。
要检查这一点,您可以转到“设置”>“隐私”>“蓝牙”并检查您的应用是否被授予蓝牙权限。
【讨论】:
已添加但未使用,我认为需要在状态更新后添加“registerForConnectionEvents”?以上是关于在 iOS 13 上未调用 didConnectPeripheral 委托的主要内容,如果未能解决你的问题,请参考以下文章