我正在寻找一种能够在范围内跟踪使用我的另一个支持BTLE的iOS设备的方法。基本上,一个设备必须记录它的地理位置信息,然后使用BTLE定期发送到另一个设备。
我怎么能这样做?一般来说,我无法找到有关如何通过BTLE发送和接收消息的更多信息,因此该类别中的任何帮助都会很棒。我已经看过this回答,但这对我没什么帮助,我想知道从那以后发生了什么变化。
如果通过Apple的内置框架无法实现,您是否知道任何允许这样做的外部框架?
答案 0 :(得分:4)
长,长,长,短的故事,但在这里你去:
在一台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;
为了在设备之间传递位置数据。请参阅简要概述,但是快速写入的方式太多了。