我现在挣扎了几天而且我无法解决我的问题(尽管所有信息都在SO上)。抱歉是傻瓜。
在我的应用位置服务停止在iOS 8中工作。在此版本之前,一切正常。 我在这里读到de plist文件中必须有一些键,并且必须使用外部编辑器设置它们。
这是:
但它仍然无效。在模拟器中,或者在我的设备上,我没有被提示。
我也理解为我的文件添加一些代码。 我应该添加什么代码,我应该在哪里添加它?
这是我的.h文件:
@property (strong, nonatomic) CLLocationManager *location;
这是在我的.m文件中:
@synthesize location;
-(void) locationStuff {
//Get location en set MapView
location=[[CLLocationManager alloc]init];
location.delegate=self;
location.desiredAccuracy=kCLLocationAccuracyBest;
location.distanceFilter=kCLDistanceFilterNone;
location.pausesLocationUpdatesAutomatically = NO;
[self startUpdatingLocation];
[mapView setDelegate:self];
[mapView setUserTrackingMode:MKUserTrackingModeFollow animated:YES];
[mapView setCenterCoordinate:mapView.userLocation.location.coordinate animated:YES];
[[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithBool:NO] forKey:@"appRunning"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
可以,有人帮我吗?谢谢,再次抱歉,我不理解其他问题的答案。我真的需要一些简单的解释。
答案 0 :(得分:2)
在iOS 8中已更改,您必须使用以下代码请求位置服务。
requestAlwaysAuthorization
- 用于背景位置
[self.locationManager requestAlwaysAuthorization];
,或
requestWhenInUseAuthorization
- 仅在应用处于有效状态时的位置
[self.locationManager requestWhenInUseAuthorization];
如果您没有同时发出两个请求,iOS将忽略startUpdateLocation请求。
另外。
包括NSLocationAlwaysUsageDescription
或NSLocationWhenInUseUsageDescription
密钥,我知道您已完成。
希望这有帮助。