在 iPhone 上获取蓝牙 MAC 地址

Luc*_*nzo 5 c c++ bluetooth objective-c swift

序言
我工作的Xcode 7.0.1,斯威夫特2

我试图了解如何检索这些信息的小时数(更新、天数)。
我已经看到有一个框架CoreBluetooth可能可以帮助我。(更新,绝对不是!!)

任何的想法?Objective-c/swift/c/c++ .. 无论如何.. 是一样的。

我已经在这个答案中测试了代码,但打印:

>>> WIFI MAC 地址:02:00:00:00:00:00
>>> IPHONE 蓝牙 MAC 地址:02:00:00:00:00:ffffffff
>>> iPad 蓝牙 MAC 地址:02:00:00 :00:00:01

关于这一点,我已经阅读了官方文档

在 iOS 7 及更高版本中,如果您询问 iOS 设备的 MAC 地址,系统会返回值 02:00:00:00:00:00。如果您需要识别设备,请改用 UIDevice 的 identifierForVendor 属性。(需要标识符用于自己的广告目的的应用程序应考虑改用 ASIdentifierManager 的 AdvertisingIdentifier 属性。)

问题是:如果其他设备可以读取我的蓝牙mac地址,为什么我不能?
我认为应该有办法做到这一点,当然。

我也尝试了这个答案(和其他答案)的片段,但我从来没有得到真正的 mac 地址。

我知道要了解 mac 的蓝牙信息,我可以在终端上运行:

system_profiler SPBluetoothDataType | sed -n "/Apple Bluetooth Software Version\:/,/Manufacturer\:/p"
Run Code Online (Sandbox Code Playgroud)

并且只检索 mac 地址我可以“管道”到上一个命令:

egrep -o '([[:xdigit:]]{1,2}-){5}[[:xdigit:]]{1,2}'
Run Code Online (Sandbox Code Playgroud)

我在问.. 我可以在 iPhone 上以编程方式运行这个命令吗?

实际上,我已经尝试过,使用这个伪代码:

script = ""
system("system_profiler SPBluetoothDataType > blueInfo.txt")
sleep
read from file "blueInfo.txt" its content
Run Code Online (Sandbox Code Playgroud)

此代码编译并“有效”,但无法读取不存在的文件。

我目前正在考虑放弃):

hao*_*hao 0

正如此 GitHub 问题上的评论者和开发人员所指出的那样,由于隐私原因,即使可以从第二台设备上读取它,也无法检索正在运行该程序的当前设备的 MAC 地址的担忧。