0

我正在尝试在我的内部应用程序上获取蓝牙 MAC 地址,但直到现在仍然无法正常工作。

首先我使用 libMobileGestalt 私有库但无法获取信息。

我正在使用以下代码,但得到空值。

CFStringRef value = MGCopyAnswer( kMGDiskUsage );
NSLog(@"Value: %@", value);
value =    MGCopyAnswer( kMGBluetoothAddress );
NSLog(@"Value: %@", value);

Value: {
    AmountDataAvailable = 24597590016;
    AmountDataReserved = 209715200;
    TotalDataAvailable = 24807305216;
    TotalDataCapacity = 29322899456;
    TotalDiskCapacity = 31708938240;
    TotalSystemAvailable = 335544320;
    TotalSystemCapacity = 2386038784;
}
Value: (null)

其次,我使用 liblockdown 私有库。

我正在使用以下代码,但“连接”为零,因为我无法继续。

LockdownConnectionRef connection = lockdown_connect();
NSString *mac = lockdown_copy_value(connection, nil, kLockdownBluetoothAddressKey);

最后我使用https://github.com/durul/udidinspector

但是蓝牙MAC地址不正确。

我想问一下是否真的没有办法获取我的设备蓝牙MAC地址?

谢谢 :)

4

1 回答 1

1

苹果当然似乎已经删除了对 MAC 地址的任何访问权限。如果您控制外围设备并在广告数据中的制造商特定信息中发送mac地址,或者通过连接后的服务公开它,您可以绕过它。

于 2016-04-26T13:00:26.973 回答