Xcode GPX文件Mock真机系统定位
10/27/2017 Xcode
# Xcode GPX文件Mock真机系统定位
今天看到苹果核的一篇文章,很有意思,拿出来与大家一起分享。
这篇文章说,使用苹果为模拟器定位的gpx文件,可以Mock真机所有App的定位,关键真机不需要越狱。按文章写了一个Demo验证了一下,确实是这样。
大致步骤是:
- 新建一个工程,并新建 gpx文件,指定坐标
- 在 Edit scheme -> Options -> Default Location 中,选中刚才新建的 gpx文件
- 连接真机,Run工程
然后就会发现整个手机的坐标被Mock成了gpx文件中指定的坐标,这个确实有点Amazing。gpx文件本来是为了解决模拟器定位问题引入的,没想到居然还可以Mock真机的定位。
其中,有几个注意点:
- gpx文件中指定的坐标,需要是WGS84坐标,因为系统的定位都是真实的地理坐标,然后各大地图也是调用系统定位,然后做的偏移。谷歌地球的坐标即是WGS84坐标。
- 在测试Demo过程中,发现有时候需要Demo一直处在Run过程中才行,如果只是单纯通过打开App方式打开Demo,会没有效果;有时候在运行Demo后,关闭了Demo还可以继续保留刚才的模拟坐标,这块有点奇怪
其中的具体原理,还不太清楚,有了解的朋友可以一起讨论下。
详细图文步骤参考原文: 苹果核 - iOS端Mock GPS定位 —— 测试、开发、玩游戏、发朋友圈等等,你都用得上 (opens new window)