FoodTrackerアップルのチュートリアルに従おうとしています。 xCode 8.1。私はiOSの10で、プライバシーキーが欠落上のいくつかの記事を読んだことがある、と私は、必要なキーを追加NSPhotoLibraryUsageDescriptionキーがinfo.plistに追加されましたが、プライバシーに敏感なデータのためにクラッシュします
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)
...
プライバシー - フォトライブラリ:私はこのcrashlogを取得します使用法説明
...値の列の下にカスタムメッセージがあります。それでもイメージをタップすると、私は同じクラッシュを取得します。どんな助けも素晴らしいだろう。私はこのチュートリアルを終了したいと思います。
ありがとうございます!
INFO:
私はここに、まだ私の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"
}
}
私は現在チュートリアルもやっていますが、私はImage Pickerのセクションにあります。私はプライバシーキーを追加した後、すべて私のために働く。たぶんそれはあなたを助けるhttps://github.com/ronatory/food-tracker – ronatory