我製作位置應用程序。但核心位置不起作用。 我在iPhone上測試了其他iPhone應用程序。
像谷歌地球,一個導航軟件。 其他應用程序也不起作用。
爲什麼不更新位置?
爲什麼'locationManager:didUpdateToLocation:fromLocation:'消息只調用了2次?
iOS 6 CoreLocation不起作用
也許...我的iPhone壞了?或iOS 6 CoreLocation框架有一些錯誤?
位置服務 - 在iPhone上設置
的Info.plist
- 的ARMv7
- 加速度計
- 位置服務
- GPS
- 麥克風
- 磁力
代碼示例:
- (CLLocationManager *)setupLocationManager
{
if ([CLLocationManager locationServicesEnabled] && [CLLocationManager headingAvailable]) {
CLLocationManager *locationManager = [[CLLocationManager alloc] init];
locationManager.delegate = self;
locationManager.desiredAccuracy = kCLLocationAccuracyBestForNavigation;
locationManager.distanceFilter = kCLDistanceFilterNone;
locationManager.headingFilter = kCLHeadingFilterNone;
[locationManager startUpdatingLocation];
[locationManager startUpdatingHeading];
return locationManager;
}
return nil;
}
- (CLLocationManager *)locationManager
{
switch([CLLocationManager authorizationStatus])
{
case kCLAuthorizationStatusAuthorized:
_deltaTimeLocationReceived = 0.0;
if (_locationManager == nil)
_locationManager = [self setupLocationManager];
return _locationManager;
case kCLAuthorizationStatusDenied:
case kCLAuthorizationStatusRestricted:
if (_locationManager)
_locationManager = nil;
return _locationManager;
case kCLAuthorizationStatusNotDetermined:
_deltaTimeLocationReceived = 0.0;
if (_locationManager == nil)
_locationManager = [self setupLocationManager];
return nil;
}
return nil;
}
- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation
{
NSLog(@"%@ %@", NSStringFromSelector(_cmd), newLocation.description);
if (self.locationManager) _locationSignal++;
}
- (void)locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error
{
NSLog(@"%@ %@", NSStringFromSelector(_cmd), error.description);
}
你清除了你的安全設置嗎? – Jessedc
是的,我設置了位置服務 - 開。謝謝。 – booiljoung
設置 - >常規 - >重置 - >重置位置和隱私。 – Jessedc