我正在使用xCode 5.x的模拟器测试一个iOS应用程序。根视图是一个UIWebView,它加载外部URL。外部页面请求地理位置信息,但我无法在模拟器中使其工作。提示框似乎可以共享位置信息,但外部页面无法接收到。
- 我尝试在Debug > Location...中设置自定义位置,但没有任何变化。
- 我尝试过多个模拟器设备,如iPhone 3.5和iPad。
- 如果我在真实设备上加载应用程序,它可以正常工作。
我错过了什么?
-e
我正在使用xCode 5.x的模拟器测试一个iOS应用程序。根视图是一个UIWebView,它加载外部URL。外部页面请求地理位置信息,但我无法在模拟器中使其工作。提示框似乎可以共享位置信息,但外部页面无法接收到。
我错过了什么?
-e
+1 给 @Farhan 的有用提示。以下是解决我的问题的方法:
模拟器位置设置有两个地方:
我尝试了在方案中更改默认位置,但不起作用。我的当前设置为 "None",不清楚这是否意味着没有提供位置数据,还是默认为主机机器的位置。
在模拟器调试>位置下,它也设置为没有。我尝试使用一些预设,但仍然不起作用。最终让它开始对我有用的是我将其更改为 "自定义位置" 并输入我所在的纬度和经度。只有这样才能正常工作。
此帖子有一些描述所述内容的有用截图。
这是一个方便的工具,用于获取纬度和经度。
更新 上述解决方案仍然有效,但在我目前正在处理的项目中,似乎不能保留设置,因此我必须不断重新选择自定义位置。这很烦人,所以我使用 gpx 文件创建了一个新的预设位置。结果发现这真的很容易。只需使用 此工具 生成文件并下载。然后在编辑模式时,在默认位置下选择 "将 GPX 文件添加到项目中..." (并选择下载的文件)。就是这样。由于某种原因,每次重新运行模拟器时,这个设置似乎都会被记住。
您可能需要为您的特定构建启用它。要执行此操作,请按以下步骤进行:
在Xcode中,进入"产品 > 模式 > 编辑模式" 2 - 在运行projectName/调试中
选择"运行XXXX.app / 调试" > 选择"允许位置模拟"并选择默认位置。
CMD-Shift-H
退出应用程序,进入 设置->隐私
并选择'仅在使用应用时'
。您还需要在 Info.plist
中设置NSLocationWhenInUseUsageDescription
密钥。从模拟器中删除应用程序 在“调试/位置/自定义位置”下设置坐标 在执行“硬件/重启模拟器”之后
我也遇到了同样的问题。定位包在 Android 上正常工作,但在 iOS 设备上没有获取到位置信息。所以我通过更改模拟器设置中的位置来解决。
解决方案:
从 Simulation Bar > Features > Location > Apple (选择此项)
问题已解决!!
现在我可以获得位置数据了。
Xcode支持GPX文件,但需要注意的是GPX文件需要包含路标。轨迹点不起作用,因此请确保仅在您的GPX中使用"wpt"标签。