是iphone模拟器能够显示航向和纬度,经度?

时间:2011-08-03 06:31:26

标签: iphone objective-c ios ios-simulator cllocationmanager

我正在使用iphone模拟器4.2并尝试显示或NSLog标题和其他位置服务属性,例如纬度,经度,海拔高度,水平精度,垂直精度,速度。但它没有显示正确的参数和标题的标题实际上没有触发事件。 作为执行 CLLocation 代码

- (void)locationManager:(CLLocationManager *)manager
    didUpdateToLocation:(CLLocation *)newLocation
           fromLocation:(CLLocation *)oldLocation
{
    [self.delegate locationUpdate:newLocation];
}

并且未执行 CLHeading 代码

- (void)locationManager:(CLLocationManager *)manager didUpdateHeading:(CLHeading *)newHeading
{
    [self.delegate headingUpdate:newHeading];
}

当我在这两个代码上放置断点时,它永远不会触及 CLHeading 代码。我正在init中更新位置和标题。

- (id) init{
if (self!=nil) {
    self.locationManager  = [[[CLLocationManager alloc] init] autorelease];
    self.locationManager.delegate = self;
    self.locationManager.desiredAccuracy = kCLLocationAccuracyBest;
    self.locationManager.distanceFilter = kCLDistanceFilterNone;
    [self.locationManager startUpdatingLocation];
    [self.locationManager startUpdatingHeading];
}
return self;
}

问题是我不知道这是由于模拟器还是代码有问题?

请帮忙。

3 个答案:

答案 0 :(得分:15)

CLLocationManager需要额外的硬件,因此无法在模拟器上运行。但是,您可以使用this other SO question中描述的方法对其进行测试。

来自documentation

  

某些位置服务需要在给定设备上存在特定硬件。例如,标题信息仅适用于包含硬件指南针的设备。此类定义了几种可用于确定当前可用服务的方法。

答案 1 :(得分:3)

对于使用Xcode 4.2的任何人,都可以更新此答案。它仍处于测试状态,但如果您是付费开发者,则可以访问它。此外,如果您是付费开发人员,WWDC 2011中有一些很好的视频可以解释如何使用模拟器进行位置模拟。

WWDC 2011

查看核心位置的新功能,并在不离开主席的情况下测试位置感知应用程序

**注意:请再次注意,只有付费开发者才能访问这些视频

答案 2 :(得分:2)

默认情况下,行为似乎如此 它会激发位置但不会前进。

我没有在实际的硬件中测试我的应用程序以确认我的...

Anthony Desa