iOS 9上是否弃用了libMobileGestalt?

时间:2016-02-03 16:54:33

标签: ios bluetooth iphone-privateapi ios-bluetooth

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

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

我使用以下代码但是获取null。

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私有库。

我正在使用以下代码但是" connection"是没有原因,我不能继续前进。

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

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

但是蓝牙MAC地址不正确。

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

谢谢:)

1 个答案:

答案 0 :(得分:1)

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