今天來聊聊未越獄iPhone虛擬定位的方法。首先給讀者朋友們提個醒,App Store那些收費(或者App內購)的宣稱能夠模擬定位的App,100%都騙人的。
因為iOS相對封閉,對定位權限控制很嚴格,未越獄的情況下App也沒有任何接口可以修改系統定位。不過哪裡有壓迫,哪裡就有反抗。需求決定應用,有需求就有市場,辦法還是有的。
需求是什麼呢?為什麼要虛擬定位呢?除了上圖說的幾種原因之外,當然最重要的就是在休閒會所休息時能把定位修改到公司。
那在未越獄的iPhone進行虛擬定位,有哪些方法呢? 小司機今天主要一種最便捷的方法-藉助蘋果MFi外設,硬體輔助模擬定位。先看個小視頻。
這樣一個小玩意,還挺方便的,插上也不影響耳機使用和充電,配合一個App,可以隨意搜索POI或者地圖上點選進行模擬定位。
它的原理是怎樣的呢?它主要是利用了蘋果的通用外設協議,集成MFi晶片,註冊成為外置的GPS設備,然後更新系統位置,能夠對包括微信在內的所有應用生效。更具體一點說,硬體需要集成蘋果的MFi晶片,然後利用了iAP2中的兩種協議:External Accessory Protocol和Location Information,大概原理如下:
(1)模擬定位的App 使用 EA協議跟外設連接。這個App集成了地圖SDK,主要用途就是方便用戶進行搜索或者地圖點選來獲取想要虛擬定位的GPS信息,然後通過EA通道使用自定義的數據協議把用戶選好的GPS信息發送給硬體。
(2)硬體從EA通道接收到GPS信息之後,根據iAP2中的Location Information協議把GPS信息進行編碼,發送給iOS系統。
(3)iOS系統接收到硬體通過Location Information協議過來的GPS信息之後,就會把整個系統底層的定位信息更新,這樣包括微信在內的所有應用的定位都修改成了剛剛選擇的模擬定位點了。
蘋果為什麼要開放這樣一個可以修改系統定位的外設協議呢?
從這段蘋果官方文檔的描述可以看到,主要目的是為了提高定位精度,提升某些場合的用戶體驗。比如汽車的GPS模塊定位精度要比iPhone高,如果能夠把汽車的GPS信息發給iPhone,那iPhone上的導航體驗就會好很多。
當然上面這種通過MFi晶片進行模擬定位的硬體,肯定是過不了蘋果的MFi認證的。只能夠去黑市購買MFi晶片,然後開發走線下渠道銷售,App也上不了App Store,只能通過企業證書分發。
網上還有一些其他的方法,比如通過各種手機助手(比如PP助手)來修改定位等,我自己沒有用過,這裡就不做介紹了,大家可以搜索了解一下。