ios - Xcode 6 模拟器的核心位置

标签 ios xcode6 core-location

核心位置未调用 didUpdateLocations。我有 2 个类涉及 LocationManager 和一个 View Controller 。 Plist 设置为 requestAlwaysAuthorization。位置在调试中模拟。谁能帮我找出错误?

位置管理器.h

@interface LPLocationManager : NSObject <CLLocationManagerDelegate>

+(LPLocationManager*)sharedManager;

@property (strong, atomic) CLLocationManager *locationManager;
@property (nonatomic, retain) CLLocation *location;
@end

位置管理器.m

+(LPLocationManager*)sharedManager{
    static LPLocationManager *sharedManager = nil;
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        sharedManager = [[LPLocationManager alloc]init];
    });

    return sharedManager;
}

- (id)init
{
    self = [super init];
    if (self) {
        self.locationManager = [[CLLocationManager alloc]init];
        self.locationManager.delegate = self;
        self.locationManager.desiredAccuracy = kCLLocationAccuracyBest;
        self.locationManager.distanceFilter = 10;

    }

    return self;
}

-(void)locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations{


    self.location = [locations lastObject];

    [self setCurrentLocation:self.location];

    NSLog(@"self.location in didupdatelocation %@", self.location);

    [self.locationManager stopUpdatingLocation];

}

ViewController.m(调用 startUpdating 的地方)

- (void)refresh:(UIRefreshControl *)refreshControl {


    LPLocationManager *locationObject = [LPLocationManager sharedManager];
    NSLog(@"location object %@", locationObject);
    [locationObject.locationManager requestAlwaysAuthorization];
    NSLog(@"locationManager %@", locationObject.locationManager);
    [locationObject.locationManager startUpdatingLocation];
    NSNotificationCenter *center = [NSNotificationCenter defaultCenter];
    [center addObserver:self selector:@selector(getLocation:) name:@"locationNotification" object:nil];

    [refreshControl endRefreshing];

}

最佳答案

想通了。

在模拟器中,转到“设置”->“常规”并滚动到“重置”。单击重置位置和隐私。

关闭模拟器并重新运行应用程序。返回“设置”,转到“隐私”->“位置”,然后为该应用选择“始终”。

关于ios - Xcode 6 模拟器的核心位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26031155/

相关文章:

android - 我想如何在 Firebase 身份验证中实现多用户帐户登录和切换?

ios - 当点击带有手势的 subview 时,如何切换到另一个 View Controller ?

localization - 在 Xcode 6 中使用 XLIFF 本地化 Info.plist

swift - 为什么 Swift 不更新闭包外的变量?

ios - 在 Swift 中使用 sysctlbyname()

ios - 如何在 Xcode 6.3 中使用 AutoLayout 创建 ScrollView

c# - Xamarin.IOS 隐藏音量 hud 和按下音量按钮的监听器

ios - 具有相同 NSUserdefaults 的免费和付费游戏

iphone - CLLocationManager 如何在飞行模式开启时获取位置

ios - CoreLocation“重大位置更改”与“区域监视”