检查隐私 - 照片库添加使用说明仅在 iOS
Checking for Privacy - Photo Library Additions Usage Description only in iOS
我的应用程序只需要 plist 文件中的 'Privacy - Photo Library Additions Usage Description' 属性(应用程序写入照片库,但不读取)。
我使用这段代码来检查权限:
PHPhotoLibrary.requestAuthorization { status in
if status == .authorized {
print("Permission granted")
} else {
print("Unavailable")
}
}
在我的应用程序的iOS设置中,即使plist只需要'Add Photos Only',也列出了'Read and Write'(??),上面的代码只获得授权status if 'Read and Write' 被勾选(勾选 'Add Photos Only' 只会导致上面的代码进入 else 语句)。
我有点困惑为什么 'Read & Write' 甚至被列为我的应用程序的设置,而我的 plist 不包括 "Privacy - Photo Library Usage Description"。
有什么想法吗?
那是因为你打电话给PHPhotoLibrary.requestAuthorization
.
如果您只需要盲目地写入用户的相机胶卷,请不要调用PHPhotoLibrary.requestAuthorization
。继续写吧,例如通过调用 UIImageWriteToSavedPhotosAlbum 或 UISaveVideoAtPathToSavedPhotosAlbum。运行时将代表您请求授权。
但如果您想与照片库本身进行交互,即通过照片框架,那么您需要授权并在“隐私 - 照片库使用说明”下输入一个条目,即使您打算做的只是写入。
从您的评论来看,您可能对 requestAuthorization
的作用感到困惑。它试图获得许可。如果您只想知道当前的授权状态实际上是什么,请改为调用authorizationStatus
。
然而,即便如此,我们谈论的是照片库本身,因此在设置中称为读写的值。
如果您想知道您是否有权执行 UIImageWriteToSavedPhotosAlbum 或 UISaveVideoAtPathToSavedPhotosAlbum,请继续调用它。如果存在权限问题,您会在完成处理程序中听到。
我的应用程序只需要 plist 文件中的 'Privacy - Photo Library Additions Usage Description' 属性(应用程序写入照片库,但不读取)。
我使用这段代码来检查权限:
PHPhotoLibrary.requestAuthorization { status in
if status == .authorized {
print("Permission granted")
} else {
print("Unavailable")
}
}
在我的应用程序的iOS设置中,即使plist只需要'Add Photos Only',也列出了'Read and Write'(??),上面的代码只获得授权status if 'Read and Write' 被勾选(勾选 'Add Photos Only' 只会导致上面的代码进入 else 语句)。
我有点困惑为什么 'Read & Write' 甚至被列为我的应用程序的设置,而我的 plist 不包括 "Privacy - Photo Library Usage Description"。
有什么想法吗?
那是因为你打电话给PHPhotoLibrary.requestAuthorization
.
如果您只需要盲目地写入用户的相机胶卷,请不要调用PHPhotoLibrary.requestAuthorization
。继续写吧,例如通过调用 UIImageWriteToSavedPhotosAlbum 或 UISaveVideoAtPathToSavedPhotosAlbum。运行时将代表您请求授权。
但如果您想与照片库本身进行交互,即通过照片框架,那么您需要授权并在“隐私 - 照片库使用说明”下输入一个条目,即使您打算做的只是写入。
从您的评论来看,您可能对 requestAuthorization
的作用感到困惑。它试图获得许可。如果您只想知道当前的授权状态实际上是什么,请改为调用authorizationStatus
。
然而,即便如此,我们谈论的是照片库本身,因此在设置中称为读写的值。
如果您想知道您是否有权执行 UIImageWriteToSavedPhotosAlbum 或 UISaveVideoAtPathToSavedPhotosAlbum,请继续调用它。如果存在权限问题,您会在完成处理程序中听到。