この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので十分ご注意ください。
[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.
iOS9.xで開発したプロジェクトをiOS10対応にする際、上記のエラーが出ました。フォトライブラリにアクセスしたタイミングでコケました。デバイスやセンシティブな情報にアクセスする際にユーザに確認を求めなければならないという決まりがありましたが、iOS10ではこれらのアクセス方法が変更になっています。
詳しくは、Information Property List Key Reference
今回の場合はフォトライブラリですので、エラーメッセージの指示通り、
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> ・・・ <key>NSPhotoLibraryUsageDescription</key> <string>ここで選択した画像をアバターとして使用します</string> ・・・ </dict> </plist>
このように、Info.plistにキーと目的を設定すればOKです。ソースコード側の変更は不要です。