我正在使用xCode 5.x中的模拟器测试iOS应用。根视图是一个加载外部URL的UIWebView。外部页面请求地理位置信息,但我不能让它在模拟器中工作。提示似乎共享位置信息,但外部页面无法接收它们。
我错过了什么?
-e
答案 0 :(得分:15)
+1给@Farhan以获得有用的提示。这就解决了我的问题:
有两个地方可以设置模拟器位置:
我在计划中使用默认位置设置,但它没有工作。我的目前设定为"无"目前尚不清楚这是否意味着没有提供位置数据或是否默认为主机的位置。
在Debug>下的模拟器中位置,它也被设置为无。我尝试使用一些预设,但它仍然无法正常工作。最终让它开始为我工作的是我将其改为"自定义位置"并输入了我所在位置的纬度和经度。只有这样才开始正常工作。
This post有一些我所描述的有用截图。
This is a handy tool获取纬度和经度。
<强>更新强> 我上面描述的解决方案仍然有效,但在我目前正在进行的项目中似乎没有保留设置,因此我必须不断重新选择我的自定义位置。这很乏味,所以我使用gpx文件创建了一个新的预设位置。结果证明这很容易。只需使用this tool生成文件并下载即可。然后,当您编辑架构时,在默认位置下,选择&#34;将GPX文件添加到项目...&#34; (并选择您下载的文件)。就是这样。无论出于何种原因,当我重新运行模拟器时,这个设置似乎都会被记住。
答案 1 :(得分:10)
您可能需要为特定版本启用它。要做到这一点。
在您的Xcode中,转到产品&gt;方案&gt;编辑方案... 2 - 在运行projectName / Debug
中选择“运行XXXX.app / Debug”&gt;选择“允许位置模拟”并选择默认位置。
答案 2 :(得分:6)
我有同样的问题 - 试试这个:
在模拟器中检查您的位置设置。按CMD-Shift-H
退出应用,转到Settings->Privacy
并选择'While Using the App'
。您还需要在NSLocationWhenInUseUsageDescription
中设置Info.plist
密钥。
答案 3 :(得分:1)
从模拟器中删除应用 从Debug / Location / Custom Location设置坐标 硬件/重启模拟器后
答案 4 :(得分:1)
Xcode支持GPX文件,但重要的是要注意GPX文件需要包含航路点。跟踪点不起作用,因此请确保仅使用&#34; wpt&#34; GPX中的标签。
答案 5 :(得分:1)
答案 6 :(得分:0)
对我来说,问题是在我运行的方案上没有检查“Debug Executable”。启用此功能后,一切都会通过位置模拟再次正常工作。
答案 7 :(得分:0)
如果您仍然遇到此问题,请注意它是由 iOS 模拟器中的错误引起的,我已经在“功能 > 位置 > 自定义位置...”中更新了自定义位置,如 Jim Tierney 的回答所示但是当我重新启动应用程序时,模拟器不会考虑新的自定义位置。
要解决此问题,只需在模拟器上打开“地图”应用,并通过点击右上角的位置图标确保它显示您选择的自定义位置。
将其最小化到后台,重新打开您的应用程序,停止应用程序并启动应用程序,现在位置将显示您预期的结果。