在 iPhone 模拟器问题中测试 GPS

Posted

技术标签:

【中文标题】在 iPhone 模拟器问题中测试 GPS【英文标题】:testing GPS in iPhone simulator problem 【发布时间】:2010-07-30 09:39:03 【问题描述】:

我发现了一些关于在 iPhone 模拟器中测试 GPS(核心定位)的文章。 这似乎很简单,但我无法让它工作。

我得到的错误信息是:


2010-07-30 11:20:16.372 appname[50954:207] *** +[CLLocation initWithCoordinate:altitude:horizontalAccuracy:verticalAccuracy:timestamp:]: unrecognized selector sent to class 0x32081320

2010-07-30 11:20:16.373 appname[50954:207] CoreAnimation: ignoring exception: *** +[CLLocation initWithCoordinate:altitude:horizontalAccuracy:verticalAccuracy:timestamp:]: unrecognized selector sent to class 0x32081320

我使用的代码是:


self.locationManager = [[[CLLocationManager alloc] init] autorelease];
locationManager.delegate = self;
locationManager.distanceFilter = 100.0f;
locationManager.desiredAccuracy= kCLLocationAccuracyBest;
[locationManager startUpdatingLocation];

// test simulator location once
[NSTimer scheduledTimerWithTimeInterval:5.0 target:self selector:@selector(updateTestLocation) userInfo:nil repeats:NO];


-(void)updateTestLocation

CLLocationCoordinate2D newlocation;
newlocation.latitude = 37.0;
newlocation.longitude = 127.0;

CLLocation *sampleLocationUpdate = [[CLLocation init] initWithCoordinate:newlocation altitude:100 horizontalAccuracy:100 verticalAccuracy:100 timestamp:[NSDate date]];             

[self locationManager:nil didUpdateToLocation: sampleLocationUpdate fromLocation: nil];
//[self locationManager:locationManager didUpdateToLocation: sampleLocationUpdate fromLocation: nil];

我希望有人能帮我解决这个问题,因为它肯定会节省大量测试时间

【问题讨论】:

【参考方案1】:

不应该是[[CLLocation alloc] init...];而不是[[CLLocation init] init...];吗?

【讨论】:

我改变了它,但它并没有影响错误。知道它还能是什么吗? 错误是说 CLLocation 不存在 initWith... 方法。检查方法的拼写。发布新的错误以及它不能相同。【参考方案2】:

原来是下一行导致了错误


CLLocationCoordinate2D newlocation; 
newlocation.latitude = 37.0;
newlocation.longitude = 127.0;

CLLocation *sampleLocationUpdate = [[CLLocation alloc] initWithCoordinate: newlocation altitude:100 horizontalAccuracy:100 verticalAccuracy:100 timestamp:[NSDate date]];

我改成了:


CLLocation *sampleLocationUpdate = [[CLLocation alloc] initWithLatitude:37.0 longitude:127.0];

【讨论】:

以上是关于在 iPhone 模拟器问题中测试 GPS的主要内容,如果未能解决你的问题,请参考以下文章

为了测试基于 GPS 的 J2ME 应用程序,是不是有任何内置 GPS 的模拟器?

gps模拟器在某船舶公司的应用方案

在网络浏览器中模拟 gps 位置路线

gps轨迹模拟器的应用及优势总结

gps卫星信号模拟器的特点介绍

车载gps模拟器的使用方法