位置管理器无法正常工作iPhone应用程序


[locationManager StarUpdatingLocation] 

在我的情况下不起作用。我有一个 NSOBject 类,其中我有一个这样的方法。

(void)findlocation
{
locationManager = [[CLLocationManager alloc] init] ;
locationManager.delegate = self;
locationManager.distanceFilter = kCLDistanceFilterNone;
locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters;
[locationManager startUpdatingLocation];
}

然后我有委托方法

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

但是,使用 NSLog 语句,我认为 startupdate 位置方法不会进入此位置管理器方法。 :(我在同一类的另一个方法中调用当前位置方法,所以我会说 [self currentLocation]。任何帮助将不胜感激。谢谢。

  • 遵守您拥有此代码的类中的协议CLLocationManagerDelegate

  • 如果是这种情况,那么您应该查看此代码在设备中是否正常工作。我认为您正在模拟器中运行它,并且CLLocationManagerDelegate不会被解雇并且对代码感到不安。

如果您使用的是模拟器,则默认情况下模拟器的位置设置为"无"。请检查。

  • 点击模拟器
  • 检查桌面顶部的调试菜单。
  • 转到"位置"子菜单
  • 检查所选选项。如果为"无",请选择一个自定义位置。在纬度和经度中添加值。(例如:13.0524139 , 80.2480755(

如果这有效,那么您也可以进入模拟器。

希望有帮助。

最新更新