使用BluetoothManager私有框架获取蓝牙的MAC地址

我试图在IOS 5.0.1 iPhone 4S中使用蓝牙实现设备发现。 我正在使用私人框架BluetoothManager。

我的代码是:

- (IBAction)searchForDevices:(id)sender { [self.indicator setHidden:NO]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(bluetoothAvailabilityChanged:) name:@"BluetoothAvailabilityChangedNotification" object:nil]; btCont = [BluetoothManager sharedInstance]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(deviceDiscovered:) name:@"BluetoothDeviceDiscoveredNotification" object:nil]; } - (void)bluetoothAvailabilityChanged:(NSNotification *)notification { self.label.text = @"Availability changed!"; [btCont setDeviceScanningEnabled:YES]; } - (void)deviceDiscovered:(BluetoothDevice *)device { [self.indicator setHidden:YES]; self.label.text = device.address; 

我的蓝牙耳机被发现。 deviceDiscoveredcallback函数被调用,但device.address不包含蓝牙设备的MAC地址。 该应用程序崩溃。 此外,device.name返回通知的名称(BluetoothDeviceDiscoveredNotification),而不是发现的设备的名称。

任何build议如何检索我的蓝牙耳机的MAC地址这种方式?

谢谢!

使用这个代码:

 - (void)deviceDiscovered:(NSNotification *) notification { BluetoothDevice *bt = [notification object]; NSLog(@"name: %@ address: %@",bt.name, bt.address); 

如果这是一个越狱应用程序,您可以通过liblockdown.dylib使用密钥kLockdownBluetoothAddressKey

Interesting Posts