科普MFI外设模拟位置工作原理

苹果MFi外设,iPhone虚拟定位/修改位置的硬件方法和技术原理;

因为iOS相对封闭,对定位权限控制很严格,未越狱的情况下App也没有任何接口可以修改系统定位。不过哪里有压迫,哪里就有反抗。需求决定应用,有需求就有市场,办法还是有的。

需求是什么呢?为什么要虚拟定位呢?当然最重要的就是上班打卡,在家在路上就能把手机的定位修改到公司,不用担心迟到早退。

工作原理

它的原理是怎样的呢?它主要是利用了苹果的通用外设协议,集成MFi芯片,注册成为外置的GPS设备,然后更新系统位置,能够对包括微信在内的所有应用生效。更具体一点说,硬件需要集成苹果的MFi芯片,然后利用了iAP2中的两种协议:External Accessory Protocol和Location Information,大概原理如下:

图片[1]-SuperGo 1.0 外设模拟位置-iPA资源站

1、模拟定位的App 使用 EA协议跟外设连接。这个App集成了地图SDK,主要用途就是方便用户进行搜索或者地图点选来获取想要虚拟定位的GPS信息,然后通过EA通道使用自定义的数据协议把用户选好的GPS信息发送给硬件。
2、硬件从EA通道接收到GPS信息之后,根据iAP2中的Location Information协议把GPS信息进行编码,发送给iOS系统。
3、iOS系统接收到硬件通过Location Information协议过来的GPS信息之后,就会把整个系统底层的定位信息更新,这样包括微信在内的所有应用的定位都修改成了刚刚选择的模拟定位点了。

苹果为什么要开放这样一个可以修改系统定位的外设协议呢?

图片[2]-SuperGo 1.0 外设模拟位置-iPA资源站

从这段苹果官方文档的描述可以看到,主要目的是为了提高定位精度,提升某些场合的用户体验。比如汽车的GPS模块定位精度要比iPhone高,如果能够把汽车的GPS信息发给iPhone,那iPhone上的导航体验就会好很多。


SVIP属于永久会员无限下载本站所有资源!
© 版权声明
THE END
喜欢就支持一下吧!
点赞713 分享
评论 共2条

请登录后发表评论