4

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

4 回答 4

1

不,恐怕 CoreBluetooth 仅适用于低功耗设备(手表、健康监视器等......)使用此蓝牙配置文件无法将两个低功耗“主机”设备连接在一起。

于 2012-02-15T12:16:39.737 回答
1

对于 iOS 5.x,您不能。但随着 CoreBluetooth 框架在 iOS 6.x(尤其是 CBPeripheralManager)中得到增强,两个 BLE 设备之间的数据传输成为可能。

Apple 刚刚发布了最新的示例代码

于 2012-12-12T15:54:39.720 回答
0

我认为德莫特没有给我们一个正确的完整答案。

您应该查看此Apple 技术说明,它清楚地说明您可以通过 MBP 使用蓝牙 LE aka CoreBluetooth API,但您必须插入蓝牙 LE USB 适配器

于 2012-12-07T17:17:48.107 回答
0

从 iOS 7.0 和 OS X Mavericks 开始,我相信这是可能的。查看两个操作系统的最新 CoreBluetooth 文档。

于 2013-10-18T00:00:31.773 回答