【问题标题】:iOS Simulator location not workingiOS模拟器位置不起作用
【发布时间】:2014-07-19 16:38:53
【问题描述】:

我正在使用 xCode 5.x 中的模拟器测试 iOS 应用程序。根视图是加载外部 URL 的 UIWebView。外部页面请求地理位置信息,但我无法让它在模拟器中工作。提示似乎共享位置信息,但外部页面无法接收它们。

  • 我尝试在“调试”>“位置...”中设置自定义位置...但没有任何变化。
  • 我在模拟器中尝试了多种设备,例如 iPhone 3.5 和 iPad。
  • 如果我在实际设备中加载应用程序,它可以正常工作。

我错过了什么?

-e

【问题讨论】:

    标签: ios uiwebview ios-simulator


    【解决方案1】:

    +1 给@Farhan 以获得有用的提示。这就是解决我的问题的方法:

    有两个地方可以设置模拟器位置:

    • 方案(参见 Farhan 的回答)。
    • 在模拟器下的调试 > 位置

    我使用了方案中的默认位置设置,但它不起作用。我的当前设置为“无”,不清楚这是否意味着没有提供位置数据,或者它是否默认为主机的位置。

    在 Debug > Location 下的模拟器中,它也被设置为 none。我尝试使用一些预设,但它仍然不起作用。最终使它开始为我工作的是我将其更改为“自定义位置”并输入了我所在位置的纬度和经度。直到那时它才开始正常工作。

    This post 有一些我所描述的有用截图。

    This is a handy tool 获取纬度和经度。

    更新 我上面描述的解决方案仍然有效,但在我目前正在处理的项目中,它似乎没有保留设置,所以我必须不断重新选择我的自定义位置。这变得乏味,所以我使用 gpx 文件创建了一个新的预设位置。事实证明这真的很容易。只需使用this tool 生成文件并下载即可。然后,当您编辑架构时,在默认位置下,选择“将 GPX 文件添加到项目...”(并选择您下载的文件)。而已。无论出于何种原因,当我重新运行模拟器时,似乎确实会记住此设置。

    【讨论】:

    • GPX 确实有帮助(模拟器以小数精度记住纬度/经度),但我的位置仍未显示在地图上。使其工作的唯一方法:在第一个模拟器启动后立即选择 Debug > Location > Apple,将出现蓝点,然后 Debug > Location > Custom Location 然后输入(由于 GPX 文件,您的正确位置将被记住)。我想你必须先向模拟器展示家在哪里;)
    • 天啊...有谁知道@ChristopheFondacci 所描述的原因?我有同样的......
    【解决方案2】:

    您可能需要为您的特定构建启用它。要做到这一点。

    在您的 Xcode 中,转到产品 > 方案 > 编辑方案... 2 - 在运行项目名称/调试中

    选择“运行 XXXX.app / 调试”> 选择“允许位置模拟”并选择默认位置。

    【讨论】:

    • 我检查并选择了“允许位置模拟”,值为“无”。我尝试更改为默认位置,但仍然无效。
    • 我可以确认,对我来说,将位置模拟从无更改为另一个对我有用。谢谢。
    【解决方案3】:

    我遇到了同样的问题 - 试试这个:

    在模拟器中检查您的位置设置。按CMD-Shift-H 退出应用程序,转到Settings->Privacy 并选择'While Using the App'。您还需要在Info.plist 中设置NSLocationWhenInUseUsageDescription 键。

    【讨论】:

      【解决方案4】:

      要使用自定义位置(添加您自己的纬度/经度坐标),选择模拟器后,转到顶部的选项并选择“功能”选项

      选择“客户位置”选项后,您可以在此处输入您的经纬度详细信息。

      瞧!

      【讨论】:

        【解决方案5】:

        从模拟器中删除应用 从调试/位置/自定义位置设置坐标 硬件/重启模拟器后

        【讨论】:

          【解决方案6】:

          Xcode 支持 GPX 文件,但需要注意的是 GPX 文件需要包含航点。跟踪点不起作用,因此请确保在您的 GPX 中仅使用“wpt”标签。

          【讨论】:

            【解决方案7】:

            对我来说,问题是我正在运行的方案没有检查“调试可执行文件”。启用此功能后,位置模拟一切又开始正常工作。

            【讨论】:

              【解决方案8】:

              如果您仍然遇到此问题,请注意它是由 iOS 模拟器中的错误引起的,我已经更新了“功能 > 位置 > 自定义位置...”中的自定义位置,如 Jim Tierney 的回答所示但是当我重新启动应用程序时,模拟器不会考虑新的自定义位置。

              要解决此问题,只需在模拟器上打开“地图”应用,然后点击右上角的位置图标,确保它显示您选择的自定义位置。

              将其最小化到后台,重新打开您的应用程序,停止应用程序并启动应用程序,现在该位置将向您显示预期的结果。

              【讨论】:

                猜你喜欢
                • 2021-01-07
                • 2016-11-09
                • 2014-11-14
                • 1970-01-01
                • 2011-11-30
                • 2017-01-05
                • 2013-10-23
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多