我正在尝试通过蓝牙在iOS和OSX之间发送/接收数据。
由于GameKit不支持OSX,我需要使用其他选项。 iPhone4S和最新的Mac Book Air支持蓝牙4.0, 所以我认为可以在这些设备之间建立连接。
但是我的示例代码不起作用,需要你的帮助。 虽然我只是创建CBCentralManager并开始扫描设备(手头有两个iPhone4S和MBA), - centralManager:didDiscoverPeripheral:advertisementData:RSSI:永远不会被调用...
- (void)start {
self.mgr = [[[CBCentralManager alloc] initWithDelegate:self queue:nil] autorelease];
NSDictionary * opts = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithBool:YES], CBCentralManagerScanOptionAllowDuplicatesKey, nil];
[self.mgr scanForPeripheralsWithServices:nil options:opts];
}
- (void)centralManager:(CBCentralManager *)central didDiscoverPeripheral:(CBPeripheral *)peripheral advertisementData:(NSDictionary *)advertisementData RSSI:(NSNumber *)RSSI
{
// not called this delegate method...
}
我的代码出了什么问题?我错过了什么吗?
答案 0 :(得分:1)
不,我担心CoreBluetooth仅适用于低能耗设备(手表,健康监视器等......) 使用此蓝牙配置文件无法将两个低能耗“主机”设备连接在一起。
答案 1 :(得分:1)
对于iOS 5.x,你不能。但随着CoreBluetooth框架在iOS 6.x(特别是CBPeripheralManager)中得到增强,可以在两个BLE设备之间传输数据。
Apple刚刚发布了最新的sample code。
答案 2 :(得分:0)
我认为德莫特没有给我们一个正确的完整答案。
您应该查看此Apple technical note,它清楚地说明您可以通过MBP使用蓝牙LE又名CoreBluetooth API ,但您必须插入蓝牙LE USB适配器< /强>
答案 3 :(得分:0)
从iOS 7.0和OS X Mavericks开始,我相信这是可能的。查看两个操作系统的最新CoreBluetooth文档。