gpt4 book ai didi

ios - 如何检测 PHAuthorizationStatus 的变化?

转载 作者:可可西里 更新时间:2023-11-01 05:34:55 34 4
gpt4 key购买 nike

我需要检测我的应用在 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/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com