[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(
如果这有效,那么您也可以进入模拟器。
希望有帮助。