我正在尝试在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;
我的蓝牙耳机被发现了。 调用deviceDiscovered回调函数, 但device.address不包含蓝牙设备的MAC地址。该应用程序正在崩溃。 此外,device.name返回通知的名称(BluetoothDeviceDiscoveredNotification),而不是发现的设备的名称。
任何建议如何以这种方式检索我的蓝牙耳机的MAC地址?
谢谢!
答案 0 :(得分:1)
使用此代码:
- (void)deviceDiscovered:(NSNotification *) notification {
BluetoothDevice *bt = [notification object];
NSLog(@"name: %@ address: %@",bt.name, bt.address);
答案 1 :(得分:0)
如果这是越狱应用,您可以通过liblockdown.dylib使用密钥kLockdownBluetoothAddressKey