美文网首页
app 访问系统设置是否允许

app 访问系统设置是否允许

作者: 梁苏珍 | 来源:发表于2017-07-11 15:24 被阅读0次

#import <AssetsLibrary/AssetsLibrary.h>//判断拍照和相册是否授权需添加的

1.照片

sourceType = UIImagePickerControllerSourceTypeSavedPhotosAlbum;

ALAuthorizationStatus author = [ALAssetsLibrary authorizationStatus];

if (author == ALAuthorizationStatusRestricted || author == ALAuthorizationStatusDenied)

{

//无权限

  //照片访问受限,请打开app访问你的照片! ;

return;

}

2.摄像

NSString * mediaType = AVMediaTypeVideo;

AVAuthorizationStatus  authorizationStatus = [AVCaptureDevice authorizationStatusForMediaType:mediaType];

if (authorizationStatus == AVAuthorizationStatusRestricted|| authorizationStatus == AVAuthorizationStatusDenied) {

//摄像头访问受限,请打开摄像头允许拍摄!;

return;

}

3.麦克风

if ([[AVAudioSession sharedInstance] respondsToSelector:@selector(requestRecordPermission:)]) {

[[AVAudioSession sharedInstance] performSelector:@selector(requestRecordPermission:) withObject:^(BOOL granted) {

if (granted) {

//允许使用麦克风

}

else {

dispatch_async(dispatch_get_main_queue(), ^{

[self initWithSetUpJumpAlert:@"无法使用麦克风,请设置打开麦克风!"];

return ;

});

}

}];

}

4.获取通讯录

 CNAuthorizationStatus status = [CNContactStore authorizationStatusForEntityType:CNEntityTypeContacts];

if (status == CNAuthorizationStatusNotDetermined) {

CNContactStore *store = [[CNContactStore alloc] init];

[store requestAccessForEntityType:CNEntityTypeContacts completionHandler:^(BOOL granted, NSError * _Nullable error) {

if (error) {

NSLog(@"weishouquan ");

}else

{

//用户给权限了

CNContactPickerViewController * picker = [CNContactPickerViewController new];

picker.delegate = self;

picker.displayedPropertyKeys = @[CNContactPhoneNumbersKey];//只显示手机号

[self presentViewController: picker  animated:YES completion:nil];

}

}];

}

if (status == CNAuthorizationStatusAuthorized) {//有权限时

CNContactPickerViewController * picker = [CNContactPickerViewController new];

picker.delegate = self;

picker.displayedPropertyKeys = @[CNContactPhoneNumbersKey];

[self presentViewController: picker  animated:YES completion:nil];

}

else{

//您未开启通讯录权限,请前往设置中心开启允许app访问您的通讯录

}

 跳转到app设置对应的界面

NSURL * url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];

if([[UIApplication sharedApplication] canOpenURL:url])

{

NSURL*url =[NSURL URLWithString:UIApplicationOpenSettingsURLString];

[[UIApplication sharedApplication] openURL:url];

}

相关文章

网友评论

      本文标题:app 访问系统设置是否允许

      本文链接:https://www.haomeiwen.com/subject/wwhmhxtx.html