Just My Life & My Work

[iOS] 取得藍芽裝置Mac

最近在開發藍芽裝置相關iOS App,每次掃描藍芽裝置都會出現一大串裝置的清單,那就表示周圍有很多藍芽裝置。怎麼來區別裝置?透過名稱是最方便的辦法,然而有時候名稱會重複(多台同款筆電、智慧手環等),此時就需要再透過Mac Address來辨識。

[iOS] 取得藍芽裝置Mac.png

然而開發iOS時卻發現沒有提供此功能!?直覺猜想是Apple為了保護用戶的隱私,所以將取得Mac的API隱藏起來,也就是說iOS 7之後就無法取得Mac Address,目前可以UUID的方式來替代。只是此UUID還滿神奇,每個iOS裝置掃到同一個藍芽裝置,都會有不一樣的UUID!老闆準備要測試時,每次問我那支是哪個「號碼」,我只能兩手一攤,「請你自己記住好嗎XD?

而Android就可以直接取得Mac Address!該說它好棒棒,還是⋯⋯

什麼是手機MAC地址?

手機MAC地址就是手機的網卡地址,換句話說,就是手機網卡的身份證號。

MAC地址又稱為物理地址、硬體地址,用來定義網絡設備的位置,它由一串英文加數字的字符串組成,並具有全球唯一性。

手機高人說:

目前智慧手機已經達到人手一機的階段,且利用手機上網也已經是最基本的功能之一。而使用 Wi-Fi 上網更是方便與實惠的選擇。手機 Wi-Fi 想要上網,必須要有內置的 Wi-Fi 晶片,而此晶片都會有一個所謂的 MAC 地址。

何謂 MAC 地址:

手機無線上網與電腦一樣,都需要有網卡。以筆電而言,會有一張有線網卡及一張無線網卡。而每一個網卡都有一個獨一無二的編號,這個編號就是 MAC address ,稱為:MAC 地址,或 MAC 位址。

目前想要在iOS取得Mac,只會回傳「02:00:00:00:00:00」。

“iOS hides the MAC address of the device and generates a UUID. The UUID on iOS is generated by the iOS device. Different iOS devices will get different UUIDs for the same peripheral. The MAC address is usually based on the hardware. If we both have iPhones and scan the same peripheral, we’ll see different UUIDs. iOS generates the UUID on the device and hides the MAC address.

Summary – iOS doesn’t let you get the MAC address of a device, it gives you a random UUID instead.

對於iOS開發者如我的人,是不用在乎是Mac還是UUID,我只要能取得該裝置的操控權,就好囉!

參考:

 

廣告

發表留言

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s

標籤雲

%d 位部落客按了讚: