2011-10-21 57 views
1
[locationManager StarUpdatingLocation] 

在我的情况下不起作用。我有一个NSOBject类,我有这样的方法。位置管理器不工作iphone应用

(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语句我盘算了一下,startupdating定位方法犯规进入这个方法的LocationManager。 :(我打电话,在同一类的另一种方法的当前位置的方法,所以我会说[自currentLocation。任何帮助,将不胜感激。谢谢。

+1

你在主线程或后台线程上运行你的'findlocation'方法吗? –

+0

林不知道,但我认为它的主线。在xcode的底部它说线程1,所以我假设主线程?然而,基本上我有一个表视图控制器,它从名为location的类调用名为getlocationlist的方法,getlocationlist方法调用findlocation方法。我新来这个即时猜测主线程? – CodeGeek123

+1

我可以发誓我刚才看到另一个答案,其中包括这个伟大的建议 - >如果你实现委托方法'[CLLocationManager locationManager:didFailWithError:]'是否被调用? –

回答

0
  • 顺应协议CLLocationManagerDelegate在您的课堂,你有这样的代码。

  • 如果是这样的话,那么你应该可以看到这个代码是否被在设备正常工作。我认为你是在模拟器&运行这个CLLocationManagerDelegate不会触发&过得好代码心烦。

如果您正在使用模拟器,那么默认情况下,模拟器的位置设置为无。 请检查。

  • 点击模拟器
  • 检查桌面的顶部调试菜单。
  • 前往位置子菜单
  • 检查所选选项。如果没有,则选择一个自定义位置。在纬度&经度上添加值。 (例如:13.0524139,80.2480755)

如果这个工程,那么你也很好去模拟器。

希望有帮助。