【发布时间】:2021-10-13 08:45:33
【问题描述】:
背景
我正在尝试使用以下代码确定隐私设置的状态以保存到照片,目标是 iOS 10 到 iOS 14。
然而在模拟器中,无论为应用选择何种隐私设置,返回的“authorizationStatus”始终为“notDetermined”。
我本来希望隐私设置“仅添加照片”返回“已授权”,而“无”返回“拒绝”。
更新
似乎在获取隐私状态时出现问题
PHAccessLevel.addOnly,而从PHAccessLevel.readWrite工作正常。隐私状态始终显示为“未确定”:
if #available(iOS 14, *) { PHPhotoLibrary.requestAuthorization(for: PHAccessLevel.addOnly) { _ in隐私状态显示预期结果:
if #available(iOS 14, *) { PHPhotoLibrary.requestAuthorization(for: PHAccessLevel.readWrite) { _ in但我不知道为什么会这样......
问题
这是 iOS 模拟器的怪癖,还是我的代码有问题,如果有,我该如何纠正?
代码
import Photos
func authorizationStatusPhotos() {
if #available(iOS 14, *) {
PHPhotoLibrary.requestAuthorization(for: PHAccessLevel.addOnly) { _ in
switch PHPhotoLibrary.authorizationStatus() {
case .notDetermined:
print ("notDetermined")
case .restricted:
print ("restricted")
case .denied:
print ("denied")
case .authorized:
print ("authorized")
case .limited:
print ("limited")
default:
print ("default")
}
}
}
}
图片
【问题讨论】:
-
你在 info.plist 文件中设置了
Privacy - Photo Library Usage Description吗? -
是的,确认已设置隐私 - 照片库使用说明。
-
好的。你有任何请求对话框吗?如果没有,您可以通过
PHPhotoLibrary.requestAuthorization再次请求 -
第一次调用照片时,请求对话框会按预期显示。但是当第二次检查时,“notDetermined”被重新调整。不清楚如何请求 PHPhotoLibrary.requestAuthorization。
-
在模拟器中删除你的应用并重新安装,我认为这会工作
标签: ios swift optimization authorization privacy