我正在尝试使用位置管理器查找用户的当前位置。下面是我在viewdidload 中的代码
locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
//locationManager.distanceFilter = kCLDistanceFilterNone;
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
if(IS_OS_8_OR_LATER)
{
[locationManager requestWhenInUseAuthorization];
[locationManager requestAlwaysAuthorization];
}
[locationManager startUpdatingLocation];
和在didUpdateLocations 中
self.userLocation = locations.lastObject;
if (userLocation != nil)
{
NSLog(@"sdsd %f %f", userLocation.coordinate.longitude, userLocation.coordinate.latitude);
[locationManager stopUpdatingLocation];
}
我得到了确认对话框和用户的位置设置在模拟,但不是实时位置,甚至在设备。我在设备和xcode中配置了所有设置,但仍然只获得默认位置。
请让我知道我应该怎么做才能获得实时位置,而不是模拟位置?
模拟器不会从操作系统接收您的当前位置。要进行调试,可以在模拟器中选择Debug->Location->City Bicycle Ride
。这将模拟在街区周围骑自行车。
如果你在室内,在设备上可能需要一段时间才能获得当前位置。打开蓝牙和WIFI可以帮助iOS更快地找到位置。
打开您的xCode
,转到Product-> Scheme-> Edit
方案,然后在Run
中选择Core location
并检查Allow location simulation
。也许它会起作用。