【发布时间】:2017-11-10 05:37:52
【问题描述】:
尝试遵循 FoodTracker Apple 教程。代码 8.1。我得到了这个崩溃日志:
2016-11-06 16:49:17.922832 FoodTracker[2307:660318] [access] This app has crashed because it attempted to access privacy-sensitive data without a usage description. The app's Info.plist must contain an NSPhotoLibraryUsageDescription key with a string value explaining to the user how the app uses this data.
(lldb)
我已经阅读了几篇关于 iOS 10 中缺少隐私密钥的帖子,因此我添加了所需的密钥...
隐私 - 照片库使用说明
...以及值列下的自定义消息。然而,当我点击图像时,我仍然会遇到同样的崩溃。任何帮助都会很棒。我很想完成本教程。
谢谢!
信息:
我还不能包含我的 info.plist 的屏幕截图,所以这里是屏幕截图的链接:
这是我的 ViewController.swift 以防万一:
import UIKit
class ViewController: UIViewController, UITextFieldDelegate, UIImagePickerControllerDelegate, UINavigationControllerDelegate {
// MARK: Properties
@IBOutlet weak var nameTextField: UITextField!
@IBOutlet weak var mealNameLabel: UILabel!
@IBOutlet weak var photoImageView: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
nameTextField.delegate = self
}
// MARK: UITextFieldDelegate
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
// Hide the keyboard
textField.resignFirstResponder()
return true
}
func textFieldDidEndEditing(_ textField: UITextField) {
mealNameLabel.text = textField.text
}
// MARK: UIImageControllerDelegate
func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
dismiss(animated: true, completion: (nil))
}
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
let selectedImage = info[UIImagePickerControllerOriginalImage] as! UIImage
photoImageView.image = selectedImage
dismiss(animated: true, completion: (nil))
}
// MARK: Actions
@IBAction func selectImageFromPhotoLibrary(_ sender: UITapGestureRecognizer) {
nameTextField.resignFirstResponder()
let imagePickerController = UIImagePickerController()
imagePickerController.sourceType = .photoLibrary
imagePickerController.delegate = self
present(imagePickerController, animated: true, completion: nil)
}
@IBAction func setDefaultLabelText(_ sender: UIButton) {
mealNameLabel.text = "Default Text"
}
}
【问题讨论】:
-
我目前也在做这个教程,我在使用图像选择器的部分。添加隐私密钥后,一切都对我有用。也许它会帮助你github.com/ronatory/food-tracker
标签: ios swift xcode info.plist