获取蓝牙MAC上的iPhone地址
问题描述:
序言
我工作的Xcode 7.0.1,斯威夫特2获取蓝牙MAC上的iPhone地址
的服务时间(更新日),我试着理解我怎样才能检索到的信息。
我看到有一个框架,CoreBluetooth,也许可以帮助我。 (更新,绝对不是!!)
有什么想法吗? Objective-c/swift/c/C++ .. whatever ..是一样的。
我已经在this answer测试的代码,但打印:
>>> WIFI MAC地址:02:00:00:00:00:00
>>> IPHONE蓝牙MAC地址:02: 00:00:00:00:FFFFFFFF
>>> IPAD 蓝牙MAC地址:02:00:00:00:00:01
关于这一点,我已经阅读官方documentation:
在iOS 7及更高版本中,如果您要求输入iOS设备的MAC地址,则 系统将返回值02:00:00:00:00:00。如果您需要 来识别设备,请改用UIDevice 的identifierForVendor属性。 (需要为自己的广告标识 目的应该考虑使用 ASIdentifierManager的advertisingIdentifier属性,而不是应用程序。)
的问题是:如果其他设备可以读我的蓝牙MAC地址,为什么我不能至?
我认为应该有办法做到这一点,当然。
我也尝试片段this answer(和其他答案),但我从来没有得到真正的mac地址。
我知道,知道MAC的蓝牙信息,我可以在终端运行:
system_profiler SPBluetoothDataType | sed -n "/Apple Bluetooth Software Version\:/,/Manufacturer\:/p"
并获取MAC地址,只有我能“管”到前面的命令:
egrep -o '([[:xdigit:]]{1,2}-){5}[[:xdigit:]]{1,2}'
我米问..我可以在iPhone上以编程方式运行此命令?
其实,我已经试过了,这个伪代码:
script = ""
system("system_profiler SPBluetoothDataType > blueInfo.txt")
sleep
read from file "blueInfo.txt" its content
此代码的编译和“作品”,但不能阅读不存在的文件。
目前我正在考虑有关删除):
Apple不允许开发人员通过唯一的硬件标识符来识别设备。在许多可能影响用户隐私的标识符被滥用之后,它已经这样做了。 – rckoenes
你不能出于隐私的原因。 – Larme
[获取蓝牙低能耗外设的MAC地址]可能重复(http://stackoverflow.com/questions/18973098/get-mac-address-of-bluetooth-low-energy-peripheral) – Magisch