目录
- 前言
- 一、问题出现场景
- 二、让模拟器支持定位
- 三、模拟器改变定位地点的两种方法
前言
详细介绍iOS模拟定位的知识。
一、问题出现场景
为什么需要模拟定位???因为你在北京的时候,一个天津的客户说它用你们的app看到的数据不正确。怎么办,自己跑过去测一下是否真有问题,以及为什么出现这样的问题吗?显然,各种条件不允许我们做出这么笨的一个决定。所以,这时候你就需要模拟定位,通过模拟定位到用户的位置来确认该位置是否有问题以及是什么问题,并进行修复。
那么怎么进行模拟定位呢?首先,明确的一点是,所有的模拟定位都是通过模拟器才能实现的,当然如果你是越狱手机的话,那另当别论。下面我们已只讨论正常的模拟器定位的方法。步骤如下:
二、让模拟器支持定位
- 检查模拟器是否开启定位功能
2.应用是否授权
在Xcode工程里面的info.plist里面添加键-值
NSLocationAlwaysUsageDescription,应用程序不管在前台和后台都支持定位;
NSLocationWhenInUseUsageDescription,只有应用程序在前台时定位。
有时候根据需要添加上面两个键-值对中的一个即可。
第一次打开应用的时候, 会询问你是否允许定位功能...
如果选择了拒绝,那自然无法定位。此时要重新允许只需要在设置里面进行设置里的隐私即可。
3.定位的位置是否设置
如果没有设置,则进行设置即可。
iOS Simulator > Debug > Location > Custom Location...
设置完新的经纬度后,有时候可能需要重启应用才生效。如果还是没生效,则重新启动模拟器吧。
在XCode10上是这样的
其他:
三、模拟器改变定位地点的两种方法
方法①:如上直接修改虚拟器上的经纬度坐标
iOS Simulator > Debug > Location > Custom Location...
方法②:通过添加GPX文件。具体如下:
在自己的项目里添加一个GPX File文件
保存好后修改文件里的经纬度坐标
修改完成后再次保存一下,编译运行。然后点击Xcode底下那个菜单栏上的导航图标,选择你添加的GPX文件。最后,在模拟器上开始定位,OK搞定。
两种修改定位的比较总结:
需要在多个位置随时变换的时候建议使用添加文件的方式进行定位。优点:切换地点速度快,不用再设置新的经纬度。
只需要一个固定的定位点就可以的话建议使用修改模拟器的定位经纬度。优点:省略添加文件的步骤,速度快。
四、快速使用模拟定位的方法
为了不用每次启动的时候,都去选择。可以在Scheme中的Option中修改Core Location
中的Default Location
。
End
结束!!!感谢查阅!!!