Kunci NSPhotoLibraryUsageDescription harus ada di Info.plist untuk menggunakan rol kamera

157

Baru-baru ini saya mulai mendapatkan kesalahan ini:

Kunci NSPhotoLibraryUsageDescription harus ada di Info.plist untuk menggunakan rol kamera.

Saya menggunakan React Native untuk membangun aplikasi saya (saya tidak terbiasa dengan pengembangan asli ios) dan saya tidak tahu bagaimana cara menambahkan kunci ini ke Info.plist

Bisakah Anda memposting contoh? Terima kasih

Saya menggunakan paket npm "react-native-camera-roll-picker": "^1.1.7"

masukkan deskripsi gambar di sini

Murat Ozgul
sumber
1
Lihat stackoverflow.com/a/39476283/1226963 untuk contoh apa yang ditambahkan ke Info.plist. Selain itu, lakukan pencarian saja NSPhotoLibraryUsageDescriptiondan Anda akan menemukan banyak contoh.
rmaddy

Jawaban:

392

Terima kasih @rmaddy, saya menambahkan ini setelah pasangan kunci-string lainnya di Info.plist dan memperbaiki masalahnya:

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

Edit:

Saya juga akhirnya mengalami masalah serupa pada berbagai komponen aplikasi saya. Akhirnya menambahkan semua kunci ini sejauh ini (setelah memperbarui ke 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>

Periksa tautan developer.apple.com ini untuk daftar lengkap referensi kunci daftar properti.

Daftar Lengkap:

Apple Music:

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

Bluetooth:

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

Kalender:

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

Kamera:

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

Kontak:

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

Pangsa Kesehatan:

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

Pembaruan Kesehatan:

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

Peralatan rumah:

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

Lokasi:

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

Lokasi (Selalu):

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

Lokasi (Saat digunakan):

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

Mikropon:

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

Gerak (Akselerometer):

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

NFC (Komunikasi medan dekat):

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

Perpustakaan Foto:

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

Perpustakaan Foto (akses khusus menulis):

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

Pengingat:

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

Pengenalan suara:

<key>NSSpeechRecognitionUsageDescription</key>
<string>My description about why I need this capability</string>
Murat Ozgul
sumber
15
Saya telah menggunakan string, "Aplikasi ini tidak memerlukan akses ke perpustakaan foto."
Daniel T.
Saya telah menambahkan kunci dan string dalam file info.plist lalu saya membangun aplikasi menggunakan terminal dan semua perubahan ini telah dihapus. tolong
pandu
Saya menambahkan ini tetapi masih crash dengan kesalahan yang sama. Kenapa ini terjadi?
ikan40
1
di mana menemukan file info.plist di ionic? Saya tidak bisa mendapatkannya.
Anuj
63

CARA FAVORIT SAYA MELAKUKANNYA

1. Buka info.plist

masukkan deskripsi gambar di sini

2. Klik tombol ini untuk menambahkan kunci baru

masukkan deskripsi gambar di sini

3. Gulir ke bawah untuk menemukan Privasi - Deskripsi Penggunaan Perpustakaan Foto

masukkan deskripsi gambar di sini

4. Pilih, lalu tambahkan deskripsi Anda di sebelah kanan

masukkan deskripsi gambar di sini

Masa depan yang cerah
sumber
Saya menambahkan ini tetapi masih crash dengan kesalahan yang sama. Kenapa ini terjadi?
fish40
5
@ fish40 mungkin Anda dapat mencoba mengklik proyek-target-info, dan menambahkannya di sana dan lihat apa yang terjadi?
Bright Future
12
deskripsi kunci Anda menjadikan hari saya XD
Fareed Alnamrouti
2
Deskripsi penggunaan menggelitik saya. Memperbaiki masalah saya juga bonus sangat senang!
James Dunne
1
di mana menemukan file info.plist? Saya tidak bisa mendapatkannya.
Anuj
17

Tambahkan kode berikut dalam file info.plist

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

masukkan deskripsi gambar di sini

Dinesh Vaitage
sumber
2
Ini persis apa yang saya butuhkan ... dengan cara sumber saya akhirnya berhasil mengunggah aplikasi saya! TNX :)
BvdVen
Sungguh aneh bahwa ini berhasil, tetapi pendekatan lain tidak, mungkin itu hanya bug pada xcode 9 beta. Terima kasih banyak untuk ini !!!
JohnV
Selamat datang, Selamat membantu Anda.
Dinesh Vaitage
10

Anda perlu menempelkan keduanya di info.plist Anda, Satu-satunya cara yang bekerja di iOS 11 untuk saya.

    <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>
Reza.Ab
sumber
4

Untuk penggunaan akses kamera:

<key>NSCameraUsageDescription</key>
<string>Camera Access Warning</string>
Ori
sumber
1

Untuk menyimpan atau mengambil gambar dari rol kamera. Selain itu, Anda perlu meminta izin kepada pengguna jika tidak Anda akan mendapatkan kesalahan ini atau aplikasi Anda mungkin macet. Untuk menyelamatkan diri dari ini tambahkan ini ke info.plist Anda

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

Dalam kasus 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".
Shanu Singh
sumber
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

Buka file plist dan kode ini

<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>
iOS
sumber
0

Jika Anda menambahkan pasangan kunci-string di Info.plist ( lihat jawaban Murat di atas ) dan masih mendapatkan kesalahan, cobalah untuk memeriksa apakah target yang sedang Anda kerjakan memiliki kunci.

Dalam kasus saya, saya memiliki 2 target (dev dan pengembangan). Saya menambahkan kunci di editor, tetapi hanya berfungsi untuk target utama dan saya menguji pada target pengembangan. Jadi saya harus membuka XCode, klik pada proyek> Info> Tambahkan pasangan kunci untuk target pengembangan di sana.

Moises Hilario
sumber
0

saya menghadapi masalah yang sama beberapa hari sebelumnya untuk Proyek IONIC 4 saya. ketika saya mengunggah IPA saya, saya mendapat peringatan ini dari App Store Connect.

masukkan deskripsi gambar di sini

Saya memperbaiki masalah "Missing Purpose String in info.plist", dengan langkah-langkah berikut. Semoga ini juga bekerja untuk Anda.

  1. Goto file "info.plist" Anda.

masukkan deskripsi gambar di sini

  1. Temukan kunci ini, bernama Privacy - Photo Library Usage Description. jika tidak ada di sana, tambahkan yang baru dan nilainya, seperti gambar di bawah ini.

masukkan deskripsi gambar di sini

Terima kasih.

Sushil
sumber