完美
前言
- iOS開發中,權限問題不可避免;
- 寫了文章iOS開發中的這些權限,你搞懂了嗎?和[續]iOS開發中的這些權限,你搞懂了嗎?,介紹了系統涵蓋的16種權限訪問的原理和方法;
- 開源庫JLAuthorizationManager,整理并提供常用權限訪問的便捷方法;
Objective-C版本
Swift版本
開源庫基本使用
- 針對相冊、蜂窩網絡、相機、麥克風、通訊錄、日歷、提醒事項、定位、媒體資料庫、語音識別、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
;