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

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

最佳答案

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

关于objective-c - 是否可以通过 CoreBluetooth 将 iPhone4S 连接到 MBA?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8834816/

10-09 16:14