我正在寻找一种能够在范围内使用我的跟踪另一个支持 BTLE 的 iOS 设备的方法。基本上,一台设备必须记录其地理位置信息,然后使用 BTLE 定期将其发送到另一台设备。
我怎么能做到这一点?一般来说,我无法找到很多关于如何通过 BTLE 发送和接收消息的信息,因此该类别中的任何帮助都会很棒。我已经看到了这个答案,但它对我没有多大帮助,我想知道从那时起是否有任何变化。
如果无法通过 Apple 的内置框架实现,您是否知道任何允许这样做的外部框架?
我正在寻找一种能够在范围内使用我的跟踪另一个支持 BTLE 的 iOS 设备的方法。基本上,一台设备必须记录其地理位置信息,然后使用 BTLE 定期将其发送到另一台设备。
我怎么能做到这一点?一般来说,我无法找到很多关于如何通过 BTLE 发送和接收消息的信息,因此该类别中的任何帮助都会很棒。我已经看到了这个答案,但它对我没有多大帮助,我想知道从那时起是否有任何变化。
如果无法通过 Apple 的内置框架实现,您是否知道任何允许这样做的外部框架?
长长的,长的,长的,长话短说,但这里你去:
在一台 iOS 设备上,同时采用 CBCentralManager 和 CBPeripheralManager。CBCentralManager 负责连接到外部外围设备并维护该连接。CBPeripheralManager 将是您用来从使用外围设备的 iOS 设备读取/写入的东西。
在其他 iOS 设备上,仅采用 CBPeripheralManager。您需要将 GATT 配置文件中规定的所有服务和特征添加到 CBPeripheralManager 中。查看 developer.bluetooth.org。为了从一个设备连接到另一个设备,这些服务和特性是必需的。
除了 gatt 特征和服务之外,您还需要添加具有存储位置数据的特征的自定义服务。
查看文档,但特别是对于 CBPeripheralManager,您需要使用
-(void) peripheralManager:(BLEPeripheralManager*)mgr requiresResponseToWriteRequests:(NSArray*)requests;
和
-(void) peripheralManager:(BLEPeripheralManager*)mgr requiresResponseToReadRequest:(CBATTRequest*)request;
为了在设备之间传递位置数据..抱歉简要概述,但要快速写出来的内容太多了。