iOS权限完整解决

作者: Jack_lin | 来源:发表于2017-04-08 10:26 被阅读1534次
完美

前言

开源库基本使用

  • 针对相册、蜂窝网络、相机、麦克风、通讯录、日历、提醒事项、定位、媒体资料库、语音识别、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

传送门

扫一扫下面的二维码,欢迎关注我的个人微信公众号攻城狮的动态(ID:iOSDevSkills),可在微信公众号进行留言,更多精彩技术文章,期待您的加入!一起讨论,一起成长!一起攻城狮!

公众号

相关文章

网友评论

  • 明年上高二:健康权限选择不允许,返回还是允许哦,可以试一下
  • Hanrovey:楼主你好?开源库 什么时候能更新呢?挂掉了
  • 假能干:咦?开源库死掉了~
    Jack_lin:@OldLogan 没有 最近太忙 一直加班 国庆节找时间维护一下 谢谢提醒啊
  • 77c5ddcc99e4:ALAuthorizationStatus authStatus = [ALAssetsLibrary authorizationStatus];
    if (authStatus == ALAuthorizationStatusAuthorized) {
    authorizedHandler ? authorizedHandler() : nil;
    }else if (authStatus==ALAuthorizationStatusNotDetermined)
    {
    ALAssetsLibrary *assetsLibrary = [[ALAssetsLibrary alloc] init];
    [assetsLibrary enumerateGroupsWithTypes:ALAssetsGroupAll usingBlock:^(ALAssetsGroup *group, BOOL *stop)
    {
    if (*stop) {
    authorizedHandler ? authorizedHandler() : nil;
    return;

    }
    else
    {

    }
    *stop = TRUE;
    } failureBlock:^(NSError *error)
    {

    }];
    }


    else{
    unAuthorizedHandler ? unAuthorizedHandler() : nil;
    }

本文标题:iOS权限完整解决

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