CLLocationManager在iOS 8模拟器上不工作

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;

我有一个很奇怪的问题。 在我的应用程序中,我使用CLLocationManager读取实际坐标,但在iOS 8模拟器上无法工作。在iOS物理设备上,所有这些都可以正常工作,甚至在iOS 7模拟器上也可以

    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?是。问题是自定义位置。默认情况下,一个可以工作