2015-10-16 2 views
3

Преамбула
Я работаю на Xcode 7.0.1 с Swift 2Получить Bluetooth MAC-адрес на iPhone

ли часы (обновление, дней), что я пытаюсь понять, как я могу получить эту информацию.
Я видел, что есть каркас, CoreBluetooth, который, возможно, может мне помочь. (обновление, определенно нет !!)

Любая идея? Objective-c/swift/c/C++ .. независимо .. то же самое.

Я уже проверить код в this answer но печатает:

>>> WIFI MAC ADDRESS: 02: 00: 00: 00: 00: 00
>>> IPhone BLUETOOTH MAC ADDRESS: 02: 00: 00: 00: 00: FFFFFFFF
>>> BLUETOOTH IPAD MAC-адрес: 02: 00: 00: 00: 00: 01

об этом я прочитал на официальном documentation:

В iOS 7 и более поздних версиях, если вы запрашиваете MAC-адрес устройства iOS, , система возвращает значение 02: 00: 00: 00: 00: 00. Если вам нужно указать , выберите устройство, используйте свойство идентификатора ForVendor UIDevice . (Программы, которые нуждаются в идентификатор для их собственной рекламы целей следует использовать свойство advertisingIdentifier из ASIdentifierManager вместо.)

Вопрос заключается в том, что если другие устройства могут читать My Bluetooth MAC-адрес, то почему я не могу к?
Я думаю, что должен быть способ сделать это, конечно.

Я также пробую фрагменты на this answer (и другие ответы), но я никогда не получаю настоящий адрес mac.

Я знаю, что знать информации Bluetooth Мака я могу работать на терминале:

system_profiler SPBluetoothDataType | sed -n "/Apple Bluetooth Software Version\:/,/Manufacturer\:/p" 

И чтобы получить MAC-адрес только я могу 'трубы' к предыдущей команде:

egrep -o '([[:xdigit:]]{1,2}-){5}[[:xdigit:]]{1,2}' 

I» m ask .. могу ли я запустить эту команду на iPhone программно?

На самом деле, я уже пробовал, с этим псевдокоде:

script = "" 
system("system_profiler SPBluetoothDataType > blueInfo.txt") 
sleep 
read from file "blueInfo.txt" its content 

Этот код компиляции и «работает», но не на чтение файла, который не существует.

Я в настоящее время думать о падать):

+1

Apple не позволяет разработчикам идентифицировать устройство по уникальным идентификаторам оборудования. Это произошло после многих злоупотреблений идентификатором, который может повлиять на конфиденциальность пользователя. – rckoenes

+0

Вы не можете по соображениям конфиденциальности. – Larme

+0

Возможный дубликат [Получить MAC-адрес периферийного устройства с низкой энергией bluetooth] (http://stackoverflow.com/questions/18973098/get-mac-address-of-bluetooth-low-energy-peripheral) – Magisch

ответ

0

Как комментаторы and the devs on this GitHub issue отметили, что невозможно, чтобы получить MAC-адрес текущего устройства вы бежите его, даже если это было бы возможно прочитайте его со второго устройства из-за проблем с конфиденциальностью.

Смежные вопросы