如何在iOS真实设备上设置虚假GPS位置

45

目前我需要在真实的iOS 7设备上测试应用程序并设置不同的虚假GPS位置。在Android上,我使用'My Fake Location'应用程序。不幸的是,我没有找到适用于iOS 7的相同应用程序。

有什么解决问题的想法吗?


这个链接会有所帮助。https://medium.com/@abhimuralidharan/location-simulation-in-xcode-ff7db9042710#.frj35bu7b - abhimuralidharan
9个回答

54

4
其他正在运行的应用程序将接管这个GPS位置。 - N Jacobs

14

使用Xcode创建.GPX文件,然后指定您的坐标。当设备连接时,请点击箭头按钮并选择您的.GPX文件。 您可以创建多个文件,并将许多坐标添加到单个.GPX文件中,以制作某种路线。


2
这是正确的答案,它将欺骗设备上所有应用程序的位置,包括您的地图应用程序、Foursquare、Facebook等。http://www.neglectedpotential.com/2013/04/spoofing-location-services-in-ios/ - Matt Foley

11

当然,iOS7禁止在真实设备上创建虚假位置。
为了测试目的,有两种方法:
1)当设备连接到Xcode时,使用模拟器并让其播放gpx轨迹。

2)对于真实世界测试,未连接到模拟器,一种可能是您的应用程序已经内置了特殊模式,您可以将其设置为“回放”模式。在该模式下,应用程序必须自己创建位置,使用1秒的定时器,并创建新的CLLocation对象。

3)第三种可能性在这里描述: https://blackpixel.com/writing/2013/05/simulating-locations-with-xcode.html


类似于:Xcode->模拟器->位置->Gpx文件:选择gpx文件。你应该能够自己找到这个选项。 - AlexWien
谢谢,我找到了。不幸的是,我不知道如何使我的真实 iPhone(或已安装的应用程序)获取虚假位置,而不是模拟器。 - Maksim Alekseychik
1
如果您阅读了我的答案,那么其中写着您或该应用程序的软件开发人员必须更改程序代码,以使其具有播放模式。在该播放模式下,时间每秒触发一次,并从csv文件、xml文件或gpx文件中读取gps数据,其中csv是最简单的。然后当时间触发时,使用文件中当前行的数据创建CLLocation对象。我建议将整个文件读入数组中,并每秒访问数组中的下一个位置。 - AlexWien
5
这并不正确。当使用Xcode将应用程序构建到设备上时,您可以使用GPX文件来伪造设备的位置。 - noir
1
Xcode和模拟器是两个不同的东西。我的评论是关于如何从Xcode构建到设备,而不是模拟器。 - noir
显示剩余3条评论

6
与Xcode兼容的GPX文件处理
我按照AlexWien提供的链接进行了操作,非常有用:https://blackpixel.com/writing/2013/05/simulating-locations-with-xcode.html
但是,我花费了相当长的时间来寻找如何生成带有路标(wpt标签)的.gpx文件,因为Xcode仅接受wpt标签。
以下工具将Google地图链接(也适用于Google地图方向)转换为.gpx文件。 https://mapstogpx.com/mobiledev.php 支持模拟旅行时间,可以指定自定义持续时间。只需选择Xcode,它就会将路线作为路标获取。

1
这个回答应该有更多的赞。这是在Xcode中模拟移动位置最方便的方法。 - Aranda

2
xCode对于接受的GPX文件很挑剔。但是,在xCode中,您可以创建一个符合格式要求的GPX文件:enter image description here enter image description here enter image description here 然后只需更改文件内容为所需位置即可。

有没有一种方法可以将用户输入的坐标传递到.gpx文件中,以便根据用户的选择修改位置?例如,用户能够在GUI中选择多个位置
  • 位置A
  • 位置B
  • 位置C
  • 位置D
.gpx文件中的纬度和经度将根据所选位置参数进行修改 已选择的位置
- estamos

1
你可以在真实设备上以调试模式运行设备来进行操作。 点击“调试”->“模拟位置”->“添加.gpx文件”,以便在运行时设置你的位置。

1
我遇到过类似的问题,但没有源代码在Xcode上运行。因此,如果您想在真实设备上测试一个具有虚假位置的应用程序,您应该使用VPN应用程序。在App Store中有很多选择 - 免费的应用程序没有选择特定国家/城市的选项,而免费的应用程序则会为您分配一个随机位置或要求您从有限的默认选项中进行选择。

0

似乎在XCode 9.2中导入.gpx文件的方式已经改变,我尝试了这里描述的方法,但都没有成功。唯一有效的方法是将.gpx文件拖放到左侧的项目导航窗口中。然后我可以在模拟器项目中选择国家。

希望对某些人有所帮助。


0

在iOS模拟器和真实设备中,有一种虚假GPS的解决方案。我们可以使用GPX文件进行虚假GPS和模拟。

我按照Xcode中使用GPX文件的逐步指南进行了操作。这里是完整的GPX文件使用逐步指南。您还可以从github下载GPX文件演示。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接