美文网首页
权限库升级了~

权限库升级了~

作者: Jack_lin | 来源:发表于2019-06-17 17:14 被阅读0次

关于权限相关的文章已经发了不少:iOS开发中的这些权限,你搞懂了吗?如何获取iOS应用网络权限?iOS开发中权限再度梳理等,这些文章罗列在一起,多少显得有些啰嗦。

这篇核心是简短介绍一下重构后的开源库: JLAuthorizationManagerJLAuthorizationManager-Swift,这个开源库迭代完成时间是2019.02.12,此后,便将该库集成到了当前项目中使用,目前为止,还算比较稳定,特推荐给老铁~

基本特性

  • 覆盖面全,目前支持拍照、相册、蜂窝网络、麦克风、日历、提醒事项、通知、定位、音乐库、语音识别、Siri、蓝牙、健康数据、体能与训练记录等权限访问;
  • 使用方法简单,接口统一,单一权限文件分离,避免因添加无用权限导致提交App Store审核不过的问题;
  • 异步请求权限,在主线程下回调;
  • 提供单例模式下的所有权限访问单一权限访问的两种方式,便于开发者更加灵活的使用;

单一权限文件的使用JLxxxPermission:

  • 基本使用(以请求相册权限为例说明):

OC版本

JLPhotosPermission *permission = [JLPhotosPermission instance];
NSLog(@"current authoriazation status:%@", [self authorizationWithStatus:permission.authorizationStatus]);
NSLog(@"%@添加权限Plist描述", permission.hasSpecificPermissionKeyFromInfoPlist ? @"是" : @"没有");
[permission requestAuthorizationWithCompletion:^(BOOL granted) {         
    NSLog(@"%@ : %@", [self titleWithType:permission.type], granted ? @"已授权" : @"未授权");
}];

Swift版本:

let permission = PhotosPermission()
print("\(type.title) -> status:\(permission.authorizedStatus())")
permission.requestPermission { granted in
    print(granted ? "已授权 -> \(type.title)" : "未授权 -> \(type.title)")
}
  • 请求定位、蓝牙等权限时,需要使用其单例方法shared进行调用,以请求定位信息为例说明:

OC版本

JLLocationAlwaysPermission *permission = [JLLocationAlwaysPermission sharedInstance];
NSLog(@"current authoriazation status:%@", [self authorizationWithStatus:permission.authorizationStatus]);
NSLog(@"%@添加权限Plist描述", permission.hasSpecificPermissionKeyFromInfoPlist ? @"是" : @"没有");
[permission requestAuthorizationWithCompletion:^(BOOL granted) {
    NSLog(@"%@ : %@", [self titleWithType:permission.type], granted ? @"已授权" : @"未授权");
}];

Swift版本:

let permission = LocationAlwaysPermission.shared
print("\(type.title) -> status:\(permission.authorizedStatus())")
permission.requestPermission { granted in
    print(granted ? "已授权 -> \(type.title)" : "未授权 -> \(type.title)")
}

更多细节

  • 参照GitHub上文档介绍中文英文)或者DEMO中的用法;
  • 如您在使用该开源库过程中,遇到一些bug或者需要改进的地方,您可以直接创建issue说明,如您有更好的实现方式,欢迎Pull Request

注意事项

关于该权限库相关更新信息不会再以简书的形式通知更新了,把更新的信息都在微信公众号上通知,感兴趣的可以关注公众号:猿视角(iOSDevSkills)

相关文章

  • 权限库升级了~

    关于权限相关的文章已经发了不少:iOS开发中的这些权限,你搞懂了吗?、如何获取iOS应用网络权限?、iOS开发中权...

  • iOS 14使用PHPhotoLibrary获取图片库

    之前项目使用UIImagePickerController获取相册。由于iOS 14升级了图片库权限,多了PHAu...

  • 商家后台连锁报表的门店权限设置指南

    尊敬的客户: 您好,商家后台连锁报表的门店权限升级了,升级前后变化如下: 升级前:只要有报表权限,连锁用户...

  • MongoDB - 用户与权限

    切换数据库 创建用户 所有权限 指定数据库所有权限 指定数据库指定权限 db01 和 db02 库读写权限,其他库...

  • 升级 CMake版本3.25.0 CentOS Linux

    root权限版本升级 不是root权限 conda(mamba)大法好,省的折腾那么多依赖 升级 CMake版本 ...

  • 小程序--数据库

    如何修改数据库权限选中数据库==>权限设置即可。。。。

  • 数据库 权限设计

    数据库 权限设计 -系统权限管理设计-通用权限管理设计 之 数据库结构设计 权限 用户 角色 组 用户表

  • 原创-大数据平台权限设计分享-Hive库表权限

    权限目标 可通过界面管理用户访问hive库表权限,权限设计模型如下图 用户拥有hive库表权限列表image.pn...

  • 加薪

    加薪不如要权限和升级

  • 数据库平台规划

    数据库平台能力 补充:安全管控权限申请→权限审核→权限下放→权限回收 数据库集中管理 业务需求→产品&版本&网段服...

网友评论

      本文标题:权限库升级了~

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