iOS权限完整解决

前言

开源库基本使用

  • 针对相册、蜂窝网络、相机、麦克风、通讯录、日历、提醒事项、定位、媒体资料库、语音识别、Siri等,可统一使用一下的方法入口:
/**
 请求权限统一入口

 @param authorizationType 权限类型
 @param authorizedHandler 授权后的回调
 @param unAuthorizedHandler 未授权的回调
 */
- (void)JL_requestAuthorizationWithAuthorizationType:(JLAuthorizationType)authorizationType
                                   authorizedHandler:(void(^)())authorizedHandler
                                 unAuthorizedHandler:(void(^)())unAuthorizedHandler;
  • 如果你在开发过程中想使用健康数据的权限,请使用的下面的方法:
/**
 请求健康数据权限统一入口

 @param typesToShare 共享/写入共享数据类型集合
 @param typesToRead 读入共享数据类型集合
 @param authorizedHandler 授权后的回调
 @param unAuthorizedHandler 未授权的回调
 */
- (void)JL_requestHealthAuthorizationWithShareTypes:(NSSet*)typesToShare
                                          readTypes:(NSSet*)typesToRead
                                  authorizedHandler:(void(^)())authorizedHandler
                                unAuthorizedHandler:(void(^)())unAuthorizedHandler;
  • 如果你想在项目中使用社交账号,请调用下面的方法:
/**
  请求社交账号访问权限

 @param authorizationType 权限类型
 @param options 请求账号时需要的配置信息(Facebook 和 腾讯微博不能为空)
 @param authorizedHandler 授权后的回调
 @param unAuthorizedHandler 未授权的回调
 @param errorHandler 产生错误的回调
 */
- (void)JL_requestAccountAuthorizationWithAuthorizationType:(JLAuthorizationType)authorizationType
                                                    options:(NSDictionary *)options
                                          authorizedHandler:(void(^)())authorizedHandler
                                        unAuthorizedHandler:(void(^)())unAuthorizedHandler
                                               errorHandler:(void(^)(NSError *error))errorHandler;

开源库使用的最低要求

  • Xcode 8.0及以上;
  • iOS 8.0及以上;

开源库的安装

  • Cocoapods安装,在Podfile文件中添加:
 pod 'JLAuthorizationManager', '~> 1.0.0'
  • 手动安装,将项目clone到本地,将JLAuthorizationManager文件夹拖至项目即可;

其他

  • 更多详细使用可阅读README文件或者运行Demo程序;
  • 支持MIT开源协议;
  • 近期会添加开源库的功能,并且更新记录会在该文章记录。

如有问题

  • 当你在使用过程中,存在问题,敬请文章中评论或者在微信公众号内给我留言;
  • 如果你有好的改进方法,敬请Pull Request
  • 如果感觉还可以,那就敬请Star

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏腾讯Bugly的专栏

解耦---Hybrid H5跨平台性思考

跨平台,是H5最重要的能力之一。而 Hybrid H5 因强依赖于具体 app,往往不具有跨平台性。这时,将强依赖关系解耦,即可恢复 H5 的跨平台能力。近期本...

4314
来自专栏互联网高可用架构

支付平台架构设计评审核心要点与最佳实践【完整版】

2904
来自专栏腾讯Bugly的专栏

《手Q Android线程死锁监控与自动化分析实践》

手Q每个版本上线以后研发同学都会收到各种问题反馈。在跟进手Q内部用户反馈的问题时,发现多例问题,其表象和原因如下:

8658
来自专栏H2Cloud

游戏服务器设计之任务系统

游戏服务器设计之任务系统 介绍 任务系统是游戏中最重要的系统之一,本文旨在设计一个轻量清晰的任务系统。通用易扩展是本系统关注的重点。任务系统中当角色的条件满足时...

6924
来自专栏技术换美食换不换

picu后端架构总结

首先我们项目的定位是一个图片,音频为主体的分享应用,于是服务器对于大资源的存储有了常规数据库,nginx静态资源存储和对象存储服务的选型问题.常规数据库(如my...

1212
来自专栏程序员互动联盟

【答疑释惑 第十讲】如何在windows下学习linux?

疑惑一 现在手游的server 端,一般都用哪种语言开发? 业界主要的是c/c++ + Python/lua模式做游戏服务器。c/c++做网络通讯数据传输,py...

3605
来自专栏腾讯移动品质中心TMQ的专栏

30分钟轻松搞定代码瘦身

导语 当一个新的产品想要复用一个旧的产品的逻辑的时候,是直接把全盘的代码copy过去就可以了吗?站在功能的角度当然没问题,但是这对于新产品是相当臃肿的,因为一些...

2399
来自专栏听雨堂

水晶报表的推模式

在一个多层结构中,水晶报表的使用往往比较繁琐:     1、在项目中添加数据集,形成xsd文件     2、利用xsd文件,在水晶报表环境中生成报表     3...

2125
来自专栏乐沙弥的世界

Percona XtraDB Cluster集群节点重启及故障转移

要重新启动集群节点,请关闭MySQL并重新启动它。该节点将离开集群(并且法定人数的总计数应该减少)。发布命令 systemctl restart mysql

992
来自专栏思考的代码世界

Python网络数据采集之创建爬虫|第00天

开始本系列的文章时,可能你需要了解一下Python的基础知识,熟悉Python的基本编程,了解一些网络知识等。如果不是特别了解,可以看看我的Python基础系列...

4205

扫码关注云+社区

领取腾讯云代金券