Swift 请求用户访问照片库的许可

maz*_*zen 5 permissions ios swift swift4

我正在尝试访问照片库以在 swift 4 中导入个人资料图片。

但我收到了这个错误:

此应用程序已崩溃,因为它试图在没有使用说明的情况下访问隐私敏感数据。应用程序的 Info.plist 必须包含一个 NSPhotoLibraryUsageDescription 键和一个字符串值,向用户解释应用程序如何使用这些数据。

我以各种方式请求许可。

我尝试:

<key>NSPhotoLibraryUsageDescription</key>
    <string>this permission for profile photo only</string>
Run Code Online (Sandbox Code Playgroud)

和代码:

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)
    }
Run Code Online (Sandbox Code Playgroud)

我试试

<key>NSPhotoLibraryAddUsageDescription</key>
    <string>this permission for profile photo only</string>
Run Code Online (Sandbox Code Playgroud)

我什至尝试在代码中做到这一点

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
        }
     }
}
Run Code Online (Sandbox Code Playgroud)

我删除了应用程序并重新安装它,仍然崩溃

我忘记了什么吗?或者我做错了什么?

maz*_*zen 0

NSPhotoLibraryUsageDescription我只是在 Project/info/Custom IOS Target Properties 中添加密钥。而不是info.plist现在它工作正常