【问题标题】:CoreBluetooth: What is the lifetime of unique UUIDsCoreBluetooth:唯一 UUID 的生命周期是多少
【发布时间】:2013-07-08 16:42:28
【问题描述】:

回答这个问题:
Corebluetooth, How to get a unique UUID?

连接到外围设备后,我可以检索它的CFUUIDRef,这是唯一的,并且可以使用它通过retrievePeripherals 重新连接。但是,我发现关闭应用程序后无法使用它重新连接。

连接后生成的唯一UUID 是否仅在应用程序的生命周期内有效,还是我们应该能够保存它以供以后使用?我试图让我的应用程序记住一个特定的外围设备,但除了peripheral.UUID,我不知道任何其他唯一标识符。

【问题讨论】:

    标签: ios ios5 core-bluetooth bluetooth-lowenergy


    【解决方案1】:

    长话短说,是的,即使在您关闭应用程序后(完全按照您说的方式),您也可以使用 UUID 重新连接到同一设备。

    但是,我假设您实际上并没有与外围设备配对。这是一个大问题。您需要实际建立配对请求并让外围设备显示在蓝牙表中。 UUID 随后将与 iOS 设备一起固化,并一直保留到您刷新 iOS 设备的网络设置为止。

    另一种可能性是您的 BLE 设备有固件问题,在您断开连接后,它会强制自己进入广告模式或其他什么东西。这也会影响您重新连接的能力。如果您有任何问题,请告诉我!

    【讨论】:

    • 啊,配对正是我需要解决的问题。我现在的主要问题是我正在开发没有完整的 BLE 模块。那么,您能告诉我配对时是否必须在应用程序/iOS 端进行任何操作?我以前问过这个问题,但答案很模糊。我会找出芯片组并就此与您联系。谢谢!
    • iOS 端确实依赖于芯片组(也是固件)..所以等你发现之后再说吧..不想给你坏英特尔
    • @TommyDevoy 澄清一下:当我们到达“didConnectPeripheral”功能并进一步发现服务时是否已完成配对,或者是否需要遵循一些其他程序来配对特定设备?跨度>
    • @Jobs 据我所知,没有事件表明设备已配对。但是,您可以观察 UIApplicationDidBecomeActiveNotification 以确定用户何时关闭“配对”弹出窗口,然后您可以调用 retrieveConnectedPeripheralsWithServices 以获取连接到系统的设备列表并检查您的设备是否存在。您还可以在不知道是否配对的情况下发现服务。如果需要配对,系统将显示适当的警报。
    • @TommyDevoy 当外围设备更改其外围设备.uuid 时你会做什么?如果标识符已更改,如何重新连接到同一设备?
    猜你喜欢
    • 1970-01-01
    • 2023-03-16
    • 2012-09-13
    • 2016-05-16
    • 1970-01-01
    • 1970-01-01
    • 2016-07-20
    • 2010-09-14
    相关资源
    最近更新 更多