请求访问摄影机卷的权限

我有一个“设置”视图,用户可以在其中选择打开或关闭功能“导出到摄影机滚轮”

当用户第一次打开它时(而不是在他拍摄第一张照片时),我希望该应用程序向他请求访问相机卷的权限

我在许多应用程序中看到过行为,但找不到方法

我不确定是否有一些内置的方法来实现这一点,但一个简单的方法是在打开该功能时使用AlassetLibrary从照片库中提取一些无意义的信息。然后,你可以简单地取消你所获取的任何信息,你会提示用户访问他们的照片

例如,下面的代码只获取相机卷中的照片数量,但足以触发权限提示

#导入<资产库/资产库.h>
AlassetLibrary*lib=[[AlassetLibrary alloc]init];
[lib enumerateGroupsWithTypes:alassetgroupsavedphotos usingBlock:^(alassetgroup*group,BOOL*stop){
NSLog(@“%zd”,[group numberOfAssets]);
}故障块:^(N错误*错误){
if(error.code==AlasSetLibraryAccessUserDeniedError){
NSLog(@“用户拒绝访问,代码:%zd”,错误代码);
}否则{
NSLog(@“其他错误代码:%zd”,错误代码);
}
}];

编辑:刚刚偶然发现,下面是如何检查应用程序访问相册的授权状态

AlaAuthorizationStatus=[AlassetLibrary authorizationStatus];
如果(状态!=ALAuthorizationStatusAuthorized){
UIAlertView*alert=[[UIAlertView alloc]initWithTitle:@“注意”消息:@“请授予此应用访问设置应用中的照片库的权限!”代理:nil cancelButtonTitle:@“关闭”其他按钮:nil,nil];
[警报显示];
}

发表评论