1

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

我什至可以设置目的属性,它会显示,但同样,它只是一会儿,然后它就会自行关闭。

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

4

2 回答 2

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];
}
于 2013-04-18T15:46:34.587 回答
0

嗯,现在问题似乎解决了。而且我不知道为什么或如何。

于 2011-11-29T18:40:31.463 回答