ios - libMobileGestalt 是否在 iOS 9 上被弃用?

标签 ios bluetooth iphone-privateapi ios-bluetooth

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

首先我使用了libMobileGestalt私有(private)库,但是获取不到信息。

我正在使用以下代码,但得到的是 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 私有(private)库。

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

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

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

但是蓝牙MAC地址不正确。

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

谢谢 :)

最佳答案

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

关于ios - libMobileGestalt 是否在 iOS 9 上被弃用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35183055/

相关文章:

android - IOException : read failed, 套接字可能已关闭 - Android 4.3 上的蓝牙

ios - 在 iOS 8.3 中获取 CellID、MCC、MNC、LAC、信号强度、质量和网络

objective-c - 如何将获取的对象保存到核心数据

android - 是否可以从已经为特殊应用程序配置的 BT 设备获取蓝牙数据?

ios - 获取NSData而不是NSXMLParser

java - 蓝牙 4.0 设备可以向蓝牙 2.0 设备发送数据吗?

iphone - 私有(private) iOS API 以访问来自 iPhone 上降噪麦克风的原始输入?

ios - 您可以动态分配 CFBundleDocumentTypes(使用私有(private) API 吗?)

ios - 使用自动布局的 TableView 中的水平 Collection View

ios - Xcode 6 - 在设备上运行应用程序崩溃