是否可以通过CoreBluetooth将iPhone4S连接到MBA?

时间:2012-01-12 12:06:24

标签: objective-c macos ios5 core-bluetooth

我正在尝试通过蓝牙在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...
}

我的代码出了什么问题?我错过了什么吗?

4 个答案:

答案 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文档。