3

我正在使用 iPhone sdk 4.0。我使用下面的代码来获取当前位置,但它的委托方法不是自动调用的......我的代码如下:

.hfile

我有进口

CoreLocation/CoreLocation.h

也委托

CLLocationManagerDelegate

CLLocationManager *locationManager;

.mfile

    locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
locationManager.distanceFilter = kCLDistanceFilterNone; // whenever we move
locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters; // 100 m
[locationManager startUpdatingLocation];

但我没有得到当前位置......我的委托方法是未调用的:

- (void)locationManager:(CLLocationManager *)manager
    didUpdateToLocation:(CLLocation *)newLocation
           fromLocation:(CLLocation *)oldLocation
{

}
4

2 回答 2

0

我遇到同样的问题。所有代码看起来都不错,但没有调用委托方法。

我完全关闭了模拟器。当我重新运行应用程序时,调用了委托方法。

于 2013-12-09T16:17:30.860 回答
0

你的代码对我来说看起来是正确的。您是否也尝试在真正的 iPhone 上运行此代码?模拟器并不总是响应位置管理器更新。您还应该将另一个重要的委托方法添加到 .m 文件中:

- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error

如果出现问题,将调用这个。例如,位置管理器未能本地化您的 iPhone。

于 2011-05-29T07:32:08.813 回答