the*_*_27 1 objective-c ios core-bluetooth swift
使用corebluetooth库成功连接了我的BLE设备,并在我的ios应用程序上为其设置了某些服务的通知值.在前景和后台模式下工作正常.
我目前将设备的标识符保存到UserDefaults,并且需要ios设备始终始终连接到设备.
问题:使用ios应用程序的状态实现corebluetooth的最佳实践是什么?特别:
最后:
是否有必要在单例类中实现corebluetooth库,以确保应用程序只使用一个蓝牙管理器连接到设备?
以下是一些建议和最佳(我可以看到)实践.这些不是一成不变的:
最后:没有必要将其实现为单身人士.虽然只有一个对象可以处理所有蓝牙连接,但非常方便.所以,我会说,单身是一个不错的选择.
一般来说,你必须考虑两种情况:
func centralManager(_ central: CBCentralManager, willRestoreState dict: [String : Any])调用该函数.在此功能中,您应该尝试重新连接到蓝牙设备.当应用程序在前台被系统杀死时,有时(根据我的经验)将调用相同的函数.所以你应该做同样的事情.如果没有调用 - 请参阅以下段落.UserDefaults(这是正确的),您应该拥有所有需要的属性.对于任何其他情况 - 由于蓝牙关闭(在设备上或在电话上)或由于设备超出范围而断开连接,系统将处理重新连接.所以基本上,这里没什么可做的.
再一次,所有这一切都不是刻在石头上.这就是我实现它的方式,它工作正常.
| 归档时间: |
|
| 查看次数: |
688 次 |
| 最近记录: |