カメラロールを使用するには、NSPhotoLibraryUsageDescriptionキーがInfo.plistに存在する必要があります


157

最近このエラーが出始めました:

カメラロールを使用するには、NSPhotoLibraryUsageDescriptionキーがInfo.plistに存在する必要があります。

React Nativeを使用してアプリをビルドしています(iOSネイティブ開発に慣れていません)。このキーをInfo.plistに追加する方法がわかりません。

例を投稿できますか?ありがとう

npmパッケージを使用しています "react-native-camera-roll-picker": "^1.1.7"

ここに画像の説明を入力してください


1
Info.plistに何を追加するかの例については、stackoverflow.com / a / 39476283/1226963を参照してください。また、検索を実行するだけで、NSPhotoLibraryUsageDescription多くの例が見つかります。
rmaddy 2016

回答:


392

@rmaddyに感謝します。Info.plistの他のキーと文字列のペアの直後にこれを追加し、問題を修正しました。

<key>NSPhotoLibraryUsageDescription</key>
<string>Photo Library Access Warning</string>

編集:

また、アプリのさまざまなコンポーネントで同様の問題が発生しました。これまでにこれらすべてのキーを追加することになりました(Xcode8 / iOS10に更新した後):

<key>NSPhotoLibraryUsageDescription</key>
<string>This app requires access to the photo library.</string>
<key>NSMicrophoneUsageDescription</key>
<string>This app does not require access to the microphone.</string>
<key>NSCameraUsageDescription</key>
<string>This app requires access to the camera.</string>

プロパティリストの主要な参照の完全なリストについては、このdeveloper.apple.comリンクを確認してください。

全リスト:

アップルミュージック:

<key>NSAppleMusicUsageDescription</key>
<string>My description about why I need this capability</string>

ブルートゥース:

<key>NSBluetoothPeripheralUsageDescription</key>  
<string>My description about why I need this capability</string>

カレンダー:

<key>NSCalendarsUsageDescription</key>
<string>My description about why I need this capability</string>

カメラ:

<key>NSCameraUsageDescription</key>
<string>My description about why I need this capability</string>

連絡先:

<key>NSContactsUsageDescription</key>
<string>My description about why I need this capability</string>

FaceID:

<key>NSFaceIDUsageDescription</key>
<string>My description about why I need this capability</string>

健康シェア:

<key>NSHealthShareUsageDescription</key>
<string>My description about why I need this capability</string>

健康アップデート:

<key>NSHealthUpdateUsageDescription</key>
<string>My description about why I need this capability</string>

ホームキット:

<key>NSHomeKitUsageDescription</key>
<string>My description about why I need this capability</string>

ロケーション:

<key>NSLocationUsageDescription</key>
<string>My description about why I need this capability</string>

場所(常に):

<key>NSLocationAlwaysUsageDescription</key>
<string>My description about why I need this capability</string>

場所(使用時):

<key>NSLocationWhenInUseUsageDescription</key>
<string>My description about why I need this capability</string>

マイクロフォン:

<key>NSMicrophoneUsageDescription</key>
<string>My description about why I need this capability</string>

モーション(加速度計):

<key>NSMotionUsageDescription</key>
<string>My description about why I need this capability</string>

NFC(近距離無線通信):

<key>NFCReaderUsageDescription</key>
<string>My description about why I need this capability</string>

写真ライブラリ:

<key>NSPhotoLibraryUsageDescription</key>
<string>My description about why I need this capability</string>

写真ライブラリ(書き込み専用アクセス):

<key>NSPhotoLibraryAddUsageDescription</key>
<string>My description about why I need this capability</string>

注意:

<key>NSRemindersUsageDescription</key>
<string>My description about why I need this capability</string>

Siri:

<key>NSSiriUsageDescription</key>
<string>My description about why I need this capability</string>

音声認識:

<key>NSSpeechRecognitionUsageDescription</key>
<string>My description about why I need this capability</string>

15
「このアプリはフォトライブラリへのアクセスを必要としません」という文字列を使用しています。
ダニエルT.

info.plistファイルにキーと文字列を追加した後、ターミナルを使用してアプリをビルドし、これらのすべての変更が削除されました。ガイドしてください
Dinesh Vaitage 2017年

私はこれを追加しましたが、それでも同じエラーでクラッシュします。なぜこれが起こっているのですか?
fish40

1
ionicのinfo.plistファイルはどこにありますか?うまくいきません。
Anuj

63

私のお気に入りの方法

1.開く info.plist

ここに画像の説明を入力してください

2.このボタンをクリックして新しいキーを追加します

ここに画像の説明を入力してください

3.下にスクロールして プライバシーを見つけます-フォトライブラリの使用法の説明

ここに画像の説明を入力してください

4.それを選択し、右側に説明を追加します

ここに画像の説明を入力してください


私はこれを追加しましたが、それでも同じエラーでクラッシュします。なぜこれが起こっているのですか?
fish40

5
@ fish40多分あなたはproject-target-infoをクリックしてそこに追加して何が起こるか見てみることができますか?
明るい未来

12
あなたの重要な説明が私の一日をXDにした
Fareed Alnamrouti

2
使い方の説明は私をくすぐった。私の問題も修正しました。とても嬉しいボーナスです!
James Dunne、

1
info.plistファイルはどこにありますか?うまくいきません。
Anuj

17

info.plistファイルに次のコードを追加します

<key>NSPhotoLibraryUsageDescription</key>
<string>My description about why I need this capability</string>

ここに画像の説明を入力してください


2
これがまさに私が必要としたものでした...私は最終的に私のアプリのアップロードに成功したソースの方法で!TNX :)
BvdVen 2017

これが機能したのは奇妙ですが、他のアプローチでは機能しませんでした。おそらくそれは、xcode 9ベータのバグにすぎません。これに感謝します!!!
JohnV 2017

ようこそ、ハッピーです。
Dinesh Vaitage 2017

10

これら2つをinfo.plistに貼り付ける必要があります。iOS11で機能する唯一の方法です。

    <key>NSPhotoLibraryUsageDescription</key>
    <string>This app requires access to the photo library.</string>

    <key>NSPhotoLibraryAddUsageDescription</key>
    <string>This app requires access to the photo library.</string>

4

カメラアクセス用:

<key>NSCameraUsageDescription</key>
<string>Camera Access Warning</string>

1

カメラロールから画像を保存または取得するため。さらに、ユーザーに許可を求める必要があります。そうしないと、このエラーが発生したり、アプリがクラッシュしたりする可能性があります。これから自分を救うために、これをinfo.plistに追加してください

<key>NSPhotoLibraryAddUsageDescription</key>
<string>This app requires read and write permission from the user.</string>

Xamarin.iOSの場合

 if you're adding it from the generic editor then "Privacy - Photo Library Additions Usage Description" will be the given option you will find out instead of "NSPhotoLibraryAddUsageDescription".

0

https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html

"Privacy - Photo Library Additions Usage Description" for iOS 11 and later

"Privacy - Photo Library Usage Description" for iOS 6.0 and later

plistファイルとこのコードを開く

<key>NSPhotoLibraryUsageDescription</key>
<string>This app requires access to the photo library.</string>

<key>NSPhotoLibraryAddUsageDescription</key>
<string>This app requires access to the photo library.</string>

0

Info.plist(上記のMuratの回答を参照)にキーと文字列のペアを追加してもエラーが発生する場合は、現在作業中のターゲットにキーがあるかどうかを確認してください。

私の場合、2つのターゲット(開発と開発)がありました。エディターにキーを追加しましたが、メインターゲットでのみ機能し、開発ターゲットでテストしていました。XCodeを開く必要があったので、プロジェクト>情報>開発ターゲットのキーペアを追加します。


0

数日前にIONIC 4プロジェクトで同じ問題に直面しました。IPAをアップロードすると、App Store Connectからこの警告が表示されました。

ここに画像の説明を入力してください

「info.plistで目的の文字列が見つからない」問題を次の手順で修正しました。それもあなたのために働くことを願っています。

  1. 「info.plist」ファイルに移動します。

ここに画像の説明を入力してください

  1. と呼ばれるこのキーを見つけますPrivacy - Photo Library Usage Description。そこにない場合は、下の画像のように、新しい値と値を追加します。

ここに画像の説明を入力してください

ありがとう。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.