[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.

By | 2016年9月16日
この記事は公開されてから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です。ソースコード側の変更は不要です。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です