在iOS11中,您无法通过“ALAssetsLibrary”或“PHPhotoLibrary”命令获得许可
问题描述:
当我尝试确定用户是否有权打开相册时,xcode告诉我这不起作用。在iOS11中,您无法通过“ALAssetsLibrary”或“PHPhotoLibrary”命令获得许可
let authStatus = ALAssetsLibrary.authorizationStatus()
return authStatus != .restricted && authStatus != .denied
的Xcode提醒我
“悬而未决标识的使用“ALAssetsLibrary”
当我尝试使用 'PHPhotoLibrary' 上的AppDelegate
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”
答
好吧,我已经意识到,答案是什么,添加“导入照片”的快捷文件的一切后,顶部是正常的
“PHPhotoLibrary”在以下方面正确使用。
func AlbumPermissions() -> Int {//相册权限判断器
switch PHPhotoLibrary.authorizationStatus() {
case .notDetermined:// 用户暂未权限认证
print("PHAuthorizationStatus.NotDetermined")
// 权限认证
PHPhotoLibrary.requestAuthorization { (status:PHAuthorizationStatus) -> Void in
print(status)
}
return 0
case .restricted:// APP禁止使用相册权限认证
print("PHAuthorizationStatus.Restricted")
return 1
case .denied:// 用户拒绝使用相册
print("PHAuthorizationStatus.Denied")
print("请进入 设置 -> 隐私 -> 相册 开启权限")
return 2
case .authorized: // 用户允许使用相册
print("PHAuthorizationStatus.Authorized")
return 3
}}
已弃用,请使用'PHPhotoLibrary'替代。 – WeiJay
@WeiJay谢谢你,我用你的方法来解决当前的问题! – Yizhe