1、获取相机权限
+(BOOL)getCameraState
{
// NSString *mediaType = AVMediaTypeVideo;
AVAuthorizationStatus authStatus = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo];
if(authStatus == ALAuthorizationStatusRestricted || authStatus == ALAuthorizationStatusDenied){
return NO;
}else{
return YES;
}
}
2、获取相册的读取权限
+(BOOL)getPhotoAlbumState
{
NSString *tipTextWhenNoPhotosAuthorization; // 提示语
ALAuthorizationStatus authorizationStatus = [ALAssetsLibrary authorizationStatus];
// 如果没有获取访问授权,或者访问授权状态已经被明确禁止,则显示提示语,引导用户开启授权
if (authorizationStatus == ALAuthorizationStatusRestricted || authorizationStatus == ALAuthorizationStatusDenied) {
NSDictionary *mainInfoDictionary = [[NSBundle mainBundle] infoDictionary];
NSString *appName = [mainInfoDictionary objectForKey:@"CFBundleDisplayName"];
tipTextWhenNoPhotosAuthorization = [NSString stringWithFormat:@"%@%@%@",FPLocalizedString(@"openSetting"), appName,FPLocalizedString(@"AccessGallery")];
return NO;
}else{
return YES;
}
}
3、获取录音权限
+ (BOOL)getRecordState
{
__block BOOL bCanRecord = YES;
if ([[[UIDevice currentDevice] systemVersion] compare:@"7.0"] != NSOrderedAscending)
{
AVAudioSession *audioSession = [AVAudioSession sharedInstance];
if ([audioSession respondsToSelector:@selector(requestRecordPermission:)]) {
[audioSession performSelector:@selector(requestRecordPermission:) withObject:^(BOOL granted) {
bCanRecord = granted;
}];
}
}
return bCanRecord;
}
本文介绍了如何在iOS应用中实现相机、相册及录音权限的检查与请求。通过Objective-C代码示例,展示了不同权限状态下的处理逻辑,确保应用程序能够正确访问用户的隐私数据。
1853

被折叠的 条评论
为什么被折叠?



