CLLocationManager在iOS 8模拟器上不工作
我有一个很奇怪的问题。 在我的应用程序中,我使用CLLocationManager读取实际坐标,但在iOS 8模拟器上无法工作。在iOS物理设备上,所有这些都可以正常工作,甚至在iOS 7模拟器上也可以CLLocationManager在iOS 8模拟器上不工作,ios,objective-c,cllocationmanager,Ios,Objective C,Cllocationmanager,我有一个很奇怪的问题。 在我的应用程序中,我使用CLLocationManager读取实际坐标,但在iOS 8模拟器上无法工作。在iOS物理设备上,所有这些都可以正常工作,甚至在iOS 7模拟器上也可以 self.manager = [[CLLocationManager alloc] init]; self.manager.delegate = self; self.manager.desiredAccuracy = kCLLocationAccuracyBest;
self.manager = [[CLLocationManager alloc] init];
self.manager.delegate = self;
self.manager.desiredAccuracy = kCLLocationAccuracyBest;
if(SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"8.0"))
{
NSUInteger code = [CLLocationManager authorizationStatus];
if (code == kCLAuthorizationStatusNotDetermined &&
([self.manager respondsToSelector:@selector(requestAlwaysAuthorization)] ||
[self.manager respondsToSelector:@selector(requestWhenInUseAuthorization)]))
{
if(Get_Plist_Object(@"NSLocationAlwaysUsageDescription"))
{
[self.manager requestAlwaysAuthorization];
}
else if(Get_Plist_Object(@"NSLocationWhenInUseUsageDescription"))
{
[self.manager requestWhenInUseAuthorization];
}
else
{
NSLog(@"Info.plist does not contain NSLocationAlwaysUsageDescription or NSLocationWhenInUseUsageDescription");
}
}
}
[self.manager startUpdatingLocation];
您可能需要设置一个自定义位置
进入顶部栏菜单,点击Debug,然后点击Location,然后选择您的选择:尝试为模拟器设置自定义位置Debug>Location>custom,或者甚至首先尝试将其设置为默认值之一,如Apple。我在当前位置设置了自定义位置。在更改它并设置Apple之后,它可以工作。很奇怪。。。。这是一个bug?我认为这与模拟器总是将自定义位置重置为非0有关,这里有一个主题我不能告诉你确切的原因,我不知道。iOS 8模拟器似乎每次启动时都会清除该位置,或者更随机一些。我觉得车太多了。Xcode 5.X模拟器没有这个问题。每次在需要的地方运行时,我都必须手动重新选择位置。我在当前位置上设置了自定义位置。您是否在Info.plist中添加了NSLocationWhenUsageDescription?是。问题是自定义位置。默认情况下,一个可以工作