Jaison's ink

Back

主要参考了
使用Xcode修改iOS设备定位

大家可以先根着这篇文章中的步骤做,然后出问题了再来这里找答案。

FAQ#

xcode中无法选中生成的gpx文件#

根据stackoverflow中的回答操作,在terminal中输入

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister  -kill -r -domain local -domain system -domain user
plaintext

即可。

如何生成准确的gpx文件?#

原文章推荐使用以下网站生成gpx文件
gpxgenerator.com
但我在尝试使用后发现,生成的地点与我在地图上点击的地点有较大偏差。

经过一番搜索和研究,我发现是由于国内的地图使用了“火星坐标系”,即在普通的经纬度坐标系上进行加密。但是这个网站使用的是google地图。

我又尝试使用GCJ-02WGS-84坐标转换工具,尝试将WGS-84坐标转换成GCJ-02坐标,效果仍不理想(仍然偏东南)。转为使用google地图直接获取经纬度信息后仍然如此。我猜测是因为全球版的谷歌地图(Google.com)使用GCJ-02的街道图,但出于不明原因保留了普通的WGS-84卫星图。

最终解决方案
最后我发现了一个快速解决方案,即使用openstreetmap
直接在里面获取经纬度信息,再粘贴进gpxgenerator.com生成的gpx文件的lat(latitude)和lon(longitude)标签里即可。

实验检验后发现精确度极高,误差在10-20cm。

但奇怪的是,openstreetmap宣称使用的是WGS-84编码,为什么直接使用反而是正确的呢?

该方案的缺点与优点#

缺点#

1、需要配合电脑使用。但是可以通过wifi连接手机。
2、无法变成手机上的一个软件(依赖于xcode的debug和手机的开发者模式)

优点#

1、由苹果官方给出,实现了系统层级上对所有软件的“欺骗”。
2、如果通过连接的网络进行定位,仍然无法隐瞒真实位置。
3、精确度极高
4、免费

How to simulate position on iphone?
https://astro-pure.js.org/blog/simulate_position/simulatepostion
Author Jaison
Published at July 30, 2025
Comment seems to stuck. Try to refresh?✨