【发布时间】:2014-12-10 03:08:57
【问题描述】:
我正在使用 Xcode 6。当我尝试使用 CLLocationManager 获取用户当前位置时遇到一些问题。甚至我将NSLocationWhenInUseUsageDescription 和NSLocationAlwaysUsageDescription 添加到Info.plist 文件中。并且还使用了[CLLocationManager requestWhenInUseAuthorization]。然后我也得到控制台输出为
2014-10-15 11:45:15.004 MapIOS8[1916:57908] 尝试在不提示位置授权的情况下启动 MapKit 位置更新。必须先调用 -[CLLocationManager requestWhenInUseAuthorization] 或 -[CLLocationManager requestAlwaysAuthorization]。
【问题讨论】:
-
所以你想要的只是获取用户的当前位置?
-
您显然是在调用 requestWhenInUse 来迟到...显示您的代码。
-
我想要的是,我想在地图上显示用户当前位置
-
- (void)viewDidLoad { [super viewDidLoad]; CLLocationManager *myManager=[[CLLocationManager alloc]init]; myManager.delegate=自己; if([CLLocationManager respondsToSelector:@selector(requestWhenInUseAuthorization)]) { NSLog(@"Inside This method"); [myManager requestWhenInUseAuthorization]; } MKCoordinateRegion 我的区域; myregion.span.latitudeDelta=0.11; myregion.span.longitudeDelta=0.11; [myMap setRegion:myregion Animation:YES]; }
-
在您成功回调您的 CLLocationManagerDelegate 委托之前,您不应启用“显示当前位置”属性