iOS开发中的常用权限

本文介绍了iOS开发中常见的权限管理,包括联网、相册、相机和麦克风、定位、推送、通讯录以及日历和备忘录的权限。在请求权限时,建议在适当场景下提示用户,并在info.plist中配置相应描述。同时,提供了各权限的检测和获取方法,以及针对不同iOS版本的适配策略。
摘要由CSDN通过智能技术生成

iOS开发中的常用权限

在获取权限之前,可以通过一下几种方式向用户请求:

  • 在用户打开APP时就向用户请求权限
  • 告知用户授权权限后能够获得好处之后,再向用户请求权限
  • 在绝对必要的情况下才向用户请求权限,例如:用户访问照片库时请求访问系统相册权限
  • 在展示系统权限的对话框前,先向用户显示自定义的对话框,若用户选择不允许,默认无操作,若用户选择允许,再展示系统对话框

常用的几种权限包括:联网权限,相册权限,相机、麦克风权限,定位权限,推送权限,通讯录权限,日历、备忘录权限;

注意 这些都需要在info.plist中配置:
添加一个属性,输入Privacy后就会出现自动提示:

  • 麦克风权限:Privacy - Microphone Usage Description 是否允许此App使用你的麦克风?
  • 相机权限: Privacy - Camera Usage Description 是否允许此App使用你的相机?
  • 相册权限: Privacy - Photo Library Usage Description 是否允许此App访问你的媒体资料库?
  • 通讯录权限: Privacy - Contacts Usage Description 是否允许此App访问你的通讯录?
  • 蓝牙权限:Privacy - Bluetooth Peripheral Usage Description 是否许允此App使用蓝牙?
  • 语音转文字权限:Privacy - Speech Recognition Usage - Description 是否允许此App使用语音识别?
  • 日历权限:Privacy - Calendars Usage Description 是否允许此App使用日历?
  • 定位权限:Privacy - Location When In Use Usage Description 我们需要通过您的地理位置信息获取您周边的相关数据
  • 定位权限: Privacy - Location Always Usage Description 我们需要通过您的地理位置信息获取您周边的相关数据。(定位的需要这么写,防止上架被拒。)

联网权限

头文件:@import CoreTelephony

检测权限:

CTCellularData *cellularData = [[CTCellularData alloc]init];  
cellularData.cellularDataRestrictionDidUpdateNotifier =  ^(CTCellularDataRestrictedState state){  
  //获取联网状态  
  switch (state) {  
      case kCTCellularDataRestricted:  
          NSLog(@"Restricrted");  
          break;  
      case kCTCellularDataNotRestricted:  
          NSLog(@"Not Restricted");  
          break;  
      case kCTCellularDataRestrictedStateUnknown:  
          NSLog(@"Unknown");  
          break;  
      default:  
          break;  
  };  
}; 

查询是否有联网功能:

CTCellularData *cellularData = [[CTCellularData alloc]init];  
CTCellularDataRestrictedState state = cellularData.restrictedState;  
 switch (state) {  
  case kCTCellularDataRestricted:  
      NSLog(@"Restricrted");  
      break;  
  case kCTCellularDataNotRestricted:  
      NSLog(@"Not Restricted");  
      break;  
  case kCTCellularDataRestrictedStateUnknown:  
      NSLog(@"Unknown");  
      break;  
  default:  
      break;  
}  

相册权限(iOS8之后):

头文件:@import Photos

检测权限:

PHAuthorizationStatus photoAuthorStatus = [PHPhotoLibrary authorizationStatus];  
switch (photoAuthorStatus) {  
  case PHAuthorizationStatusAuthorized:  
      NSLo
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值