我正在尝试访问照片库以快速导入个人资料图像。
但是我遇到了这个错误:
此应用已崩溃,因为它尝试访问对隐私敏感的应用 没有使用说明的数据。应用程序的Info.plist必须包含 一个NSPhotoLibraryUsageDescription键,其字符串值说明 向用户显示应用程序如何使用这些数据。
我以各种方式寻求许可。
我尝试:
<key>NSPhotoLibraryUsageDescription</key>
<string>this permission for profile photo only</string>
和代码:
let imagePicker = UIImagePickerController()
override func viewDidLoad() {
super.viewDidLoad()
imagePicker.delegate = self
}
@objc func importUserImage() {
print("import driver")
imagePicker.sourceType = .photoLibrary
imagePicker.allowsEditing = true
self.present(imagePicker, animated: true)
}
我尝试
<key>NSPhotoLibraryAddUsageDescription</key>
<string>this permission for profile photo only</string>
我什至尝试用代码来实现
import UIKit
import Photos
import UserNotifications
class LoginViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
PHPhotoLibrary.requestAuthorization { (status) in
// cruch here
}
}
}
我删除了该应用并重新安装,仍然崩溃
我忘记了什么吗?还是我做错了什么?
答案 0 :(得分:0)
尝试一下:
转到您的列表。在最顶部,应该说信息属性列表已选中此选项。然后右键单击并添加行,键入隐私-图片库添加用途说明,然后在右侧显示一个值列,该列需要您输入文本,这就是用户等着瞧。我希望这会有所帮助!
答案 1 :(得分:0)
NSPhotoLibraryUsageDescription
就足够了,如果只想访问用户照片库,您的以下代码就可以正常工作
PHPhotoLibrary.requestAuthorization { (status) in
// No crash
}
如果需要读写权限,请将以下两个键添加到info.plist
<key>NSPhotoLibraryUsageDescription</key>
<string>this permission for profile photo only</string>
<key>NSPhotoLibraryAddUsageDescription</key>
<string>this permission for profile photo only</string>
答案 2 :(得分:0)
我只需在项目/信息/自定义IOS目标属性中添加密钥NSPhotoLibraryUsageDescription
。而不是info.plist
,现在可以正常使用