我遇到问题,我需要检查应用是否可以访问照片。它提示用户通过标准隐私弹出决定。但是,看起来应用程序不会等待用户决定并继续(在无权限模式下)。因此,即使用户允许,它仍然会显示我需要的自定义权限消息框。
//force the privacy prompt
ALAssetsLibrary *lib = [[ALAssetsLibrary alloc] init];
[lib assetForURL:[NSURL URLWithString:@""] resultBlock:nil failureBlock:nil];
//then check for permission
ALAuthorizationStatus authStatus = [ALAssetsLibrary authorizationStatus];
//1.
if(authStatus != ALAuthorizationStatusAuthorized)
{
//show custom permissions required message box
}
是否有某种方法可以获得有关权限更改的通知,并将我的代码移至1.该方法?
由于
雅各
答案 0 :(得分:5)
我在一些测试后发现,在取消照片权限提醒视图后调用applicationDidBecomeActive。
我使用了NSNotificationCenter并能够捕获authorizationStatus更改事件。这在iOS 7下未经测试。
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(applicationDidBecomeActive:)
name:UIApplicationDidBecomeActiveNotification
object:nil];