次のエラーが発生しました(iOS 11):
このアプリは、使用方法の説明なしでプライバシーに敏感なデータにアクセスしようとしたため、クラッシュしました。アプリのInfo.plistには、アプリがこのデータをどのように使用するかをユーザーに説明する文字列値を持つ
NSPhotoLibraryAddUsageDescription
キーが含まれている必要があります。
アプリケーションinfo.plistにはNSPhotoLibraryUsageDescription
が含まれていますが、それでもクラッシュすることに注意してください。
アプリケーションのinfo.plistには
NSPhotoLibraryUsageDescription
が含まれていますが、まだクラッシュすることに注意してください。なぜですか?
Information Property List Key Reference に記載されているように、NSPhotoLibraryUsageDescription
とNSPhotoLibraryAddUsageDescription
を比較するときに誤解があると思います。
NSPhotoLibraryUsageDescription:
このキーを使用すると、アプリの理由を説明できますaccessesユーザーの写真ライブラリ。システムがユーザーにアクセスを許可するようプロンプトを出すと、この文字列がアラートの一部として表示されます。
アプリがaccess(get)デバイスの写真ライブラリをできるようにすることに関連しています。
NSPhotoLibraryAddUsageDescription:
このキーを使用すると、アプリがユーザーの写真ライブラリに書き込み専用アクセスを求める理由を説明できます。システムがユーザーにアクセスを許可するようプロンプトを出すと、この文字列がアラートの一部として表示されます。
これは、アプリがwrite(追加)写真をデバイスの写真ライブラリにできるようにすることに関連しています。
明らかに、このクラッシュを解決するには、アプリケーションのplistファイルにNSPhotoLibraryAddUsageDescription
を追加する必要があります。
<key>NSPhotoLibraryAddUsageDescription</key>
<string>Our application needs permission to write photos...</string>
プロパティリストビューとして:
上記の答えにはタイプミスがあります。正しいplistエントリは次のとおりです。
<key>NSPhotoLibraryUsageDescription</key>
<string>$(PRODUCT_NAME) needs permission to access photos on your device</string>