- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我需要检测我的应用在 iOS 8 上使用 PhotoKit 访问照片的权限更改。我可以使用 PHPhotoLibrary.authorizationStatus()
获取状态,但我需要知道此状态何时更改,这样我就可以更新 UI(要求他们更改权限)。
如果用户启动应用程序,我检查 viewDidLoad
中的 authorizationStatus
,然后如果状态为 .Denied
或 .Restricted
.但是,如果用户随后转到“设置”并授予访问权限,则当他们返回应用程序时,它仍会显示该消息。我需要处理这些状态更改 - 如果它更改为 .Authorized
我需要删除消息并重新加载我的 Collection View 。
我找不到任何可以订阅的通知。如何做到这一点?
最佳答案
无论何时您尝试使用 PhotoKit,您都可以简单地检查空的 PHFetchResult
对象。
这是因为,如果用户拒绝您的应用照片库访问,尚未响应权限提示,或由于限制无法授予访问权限,则任何获取照片库内容的尝试都将返回空的 PHFetchResult
对象。
Apple 建议您使用 registerChangeObserver:
因为
... After the user grants access to the photo library for your app, Photos sends change messages for any empty fetch results you retrieved beforehand, notifying you that library content for those fetches is now available.
您可以在这里找到更多信息 PhotoKit documentation .
关于ios - 如何检测 PHAuthorizationStatus 的变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25611537/
我需要检测我的应用在 iOS 8 上使用 PhotoKit 访问照片的权限更改。我可以使用 PHPhotoLibrary.authorizationStatus() 获取状态,但我需要知道此状态何时更
如果我仅使用 PHAuthorizationStatus.authorizationStatus() 检查当前授权状态,是否应该为 NSPhotoLibraryUsageDescription 键提供
我是一名优秀的程序员,十分优秀!