首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在iOS11中,无法通过"ALAssetsLibrary“或"PHPhotoLibrary”命令获得权限

在iOS11中,无法通过"ALAssetsLibrary“或"PHPhotoLibrary”命令获得权限
EN

Stack Overflow用户
提问于 2017-09-28 00:33:39
回答 1查看 3.8K关注 0票数 6

当我试图确定用户是否拥有打开相册的权限时,xcode告诉我这是行不通的。

代码语言:javascript
复制
let authStatus = ALAssetsLibrary.authorizationStatus()
return authStatus != .restricted && authStatus != .denied

xcode提醒我

未解析标识符‘ALAssetsLibrary’的用法

xcode截图

当我尝试在AppDelegate上使用“AppDelegate”时

代码语言:javascript
复制
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    // Override point for customization after application launch.


    switch PHPhotoLibrary.authorizationStatus() {
    case PHAuthorizationStatus.NotDetermined: // 用户暂未权限认证
        print("PHAuthorizationStatus.NotDetermined")
        // 权限认证
        PHPhotoLibrary.requestAuthorization { (status:PHAuthorizationStatus) -> Void in
            print(status)
        }
    case PHAuthorizationStatus.Restricted: // APP禁止使用相册权限认证
        print("PHAuthorizationStatus.Restricted")
    case PHAuthorizationStatus.Denied: // 用户拒绝使用相册
        print("PHAuthorizationStatus.Denied")
        print("请进入 设置 -> 隐私 -> 相册 开启权限")
    // 设置-隐私-相册
    case PHAuthorizationStatus.Authorized: // 用户允许使用相册
        print("PHAuthorizationStatus.Authorized")
    }


    return true
}

xcode还告诉我

未解析标识符“PHPhotoLibrary”的使用

EN

回答 1

Stack Overflow用户

发布于 2017-09-28 01:07:41

好的,我已经意识到了答案是什么,在所有事情都正常之后,将“导入照片”添加到快速文件的顶部。

正确使用"PHPhotoLibrary“的方式如下。

代码语言:javascript
复制
func AlbumPermissions() -> Int { // Photos Permissions
switch PHPhotoLibrary.authorizationStatus() {
    
case .notDetermined:// User has not permitted the permission
    print("PHAuthorizationStatus.NotDetermined")
    
    PHPhotoLibrary.requestAuthorization { (status:PHAuthorizationStatus) -> Void in
        print(status)
    }
    
    return 0
case .restricted:// APP reject the permission of Photos
    print("PHAuthorizationStatus.Restricted")
    return 1
case .denied:// Users denied the Photos permission
    print("PHAuthorizationStatus.Denied")
    print("Please go to Setting to turn on the Photos permission.")
    return 2
case .authorized: // User permit the Photos permission.
    print("PHAuthorizationStatus.Authorized")
    return 3
}}
票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46459143

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档