CLLocationManager提示符正在显示警报然后消失

时间:2011-11-29 18:16:17

标签: iphone ios5 cllocationmanager cllocation alassetslibrary

这是一个可怕的错误。使用CLLocationManger时,无论是使用startUpdatingLocation还是使用ALAsset方法来访问照片的元数据,系统都会按预期提示进行位置访问...但是一旦显示,提示就会消失。我找不到这个的原因,我希望别人有这个问题。其他警报(例如显示UIAlertView)不会发生这种情况。

我甚至可以设置目的属性,然后显示,但是再次,只是片刻,它只是关闭自己。

这对我来说是个大问题,因为我需要获得许可才能使用照片元数据。

2 个答案:

答案 0 :(得分:6)

您是否在如此方法中创建CLLocationManager实例:

-(void) viewDidAppear:(BOOL)animated {
    CLLocationManager *locationManager = [[CLLocationManager alloc] init];
    locationManager.delegate = self;
    [locationManager startUpdatingLocation];
}

如果是这样,那么一旦函数退出,就会清除本地的locationManager变量。您应该在实例或静态变量中保存对locationManager的引用:

static CLLocationManager *locationManager;
-(void) viewDidAppear:(BOOL)animated {
    locationManager = [[CLLocationManager alloc] init];
    locationManager.delegate = self;
    [locationManager startUpdatingLocation];
}

答案 1 :(得分:0)

呃,现在这个问题似乎已经解决了。我不知道为什么或如何。