【问题标题】:didConnectPeripheral delegate is not being called on iOS 13在 iOS 13 上未调用 didConnectPeripheral 委托
【发布时间】:2020-02-14 09:18:32
【问题描述】:

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

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

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

【问题讨论】:

    标签: ios bluetooth mapping ibeacon


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 已添加但未使用,我认为需要在状态更新后添加“registerForConnectionEvents”?
    猜你喜欢
    • 2019-10-23
    • 1970-01-01
    • 1970-01-01
    • 2016-07-16
    • 2015-03-27
    • 2016-05-07
    • 2017-02-09
    • 1970-01-01
    • 2016-11-06
    相关资源
    最近更新 更多