2010-08-20 54 views
10

我正在开发基于GPS的应用程序。所以我想知道如何模拟iPhone模拟器上的位置? 我下载了一个示例应用程序locateMe。这个应用程序不能在模拟器上工作。模拟器不支持位置API吗?在iPhone模拟器上使用核心位置

任何帮助,将不胜感激。

+1

位置仿真现在支持的XCode 4.2,但只提供给注册开发者。 – 2011-08-24 20:51:23

回答

14

更新: 与iOS 5的Xcode 4.2支持GPS定位。

选择模拟器 - >调试 - >位置 - >自定义位置...

以前的版本

没有模拟器不支持它。因此,对于GPS,您必须在设备中安装应用程序来检查它。

模拟器会给你经度和纬度作为库珀蒂诺的地址苹果的总部所在地。

所以你只能使用设备。

编码快乐

+5

更新:带ios 5的Xcode 4.2支持GPS定位。 – 2011-12-23 09:07:14

5

根据the documentation,使用仿真时:

“由 CoreLocation框架在 模拟器报告重定位固定在以下 坐标(精度100米), 其对应于1无限循环, 库比提诺,CA 95014

纬度:37.3317北经度: 122.0307西”

因此,实际上,您应该可以构建应用程序,但您不可能对其执行任何有用的操作。

4

你可能想在http://github.com/futuretap/FTLocationSimulator

它读取由谷歌地球生成,提供了伪造的位置更新KML文件,看看我的FTLocationSimulator。它还使用模拟位置更新更新MKMapView中的蓝色userLocation点。

2

在Xcode 4.2中我们可以模拟。调试区域有一个位置符号(当您运行应用程序时)。有一些预定义的位置。我们也可以add新的GPX文件

1

解决方案是继承CLLocationManager并定义一个名为DLocationManagerDelegate的新委托@protocol。

它被设计成CLLocationManagerDelegate的一个简单的替代品,当在实际设备上部署时,CLLocationManagerDelegate可以编译成非常薄的一层。

在设备上运行时,它将使用CoreLocation正常返回数据,但在模拟器中,它将从文本文件(在DLocationManager.h文件中定义)读取经度和纬度。

我希望这可以帮助,实现是在简单的一面,你必须startUpdatingLocation和stopUpdatingLocation更新显示。

http://code.google.com/p/dlocation/