makotton.com

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

この記事は公開されてから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

[adsense]

今回の場合はフォトライブラリですので、エラーメッセージの指示通り、

[bash highlight=”6-7″]
<?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>
[/bash]

このように、Info.plistにキーと目的を設定すればOKです。ソースコード側の変更は不要です。

モバイルバージョンを終了