Film rulosunu kullanmak için Info.plist'te açıklama anahtarı bulunmalıdır


157

Son zamanlarda bu hatayı almaya başladım:

Film rulosunu kullanabilmek için Info.plist'te NSPhotoLibraryUsageDescription anahtarı bulunmalıdır.

Uygulamamı oluşturmak için React Native kullanıyorum (ios yerel gelişimine aşina değilim) ve bu anahtarı Info.plist'e nasıl ekleyeceğimi bilmiyorum

Bir örnek gönderebilir misiniz? Teşekkürler

Npm paketi kullanıyorum "react-native-camera-roll-picker": "^1.1.7"

resim açıklamasını buraya girin


1
Info.plist'e nelerin ekleneceğine ilişkin bir örnek için stackoverflow.com/a/39476283/1226963 adresine bakın . Ayrıca, sadece bir arama yapın NSPhotoLibraryUsageDescriptionve çok sayıda örnek bulacaksınız.
rmaddy

Yanıtlar:


393

Teşekkürler @rmaddy, bunu Info.plist'deki diğer anahtar dizesi çiftlerinden hemen sonra ekledim ve sorunu düzelttim:

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

Düzenle:

Uygulamamın farklı bileşenlerinde de benzer sorunlar yaşadım. Şimdiye kadar tüm bu anahtarları ekledim (Xcode8 / iOS10'a güncelledikten sonra):

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

Mülk listesi anahtar referanslarının tam listesi için bu developer.apple.com bağlantısına göz atın.

Tam liste:

Apple Müzik:

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

Takvim:

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

İletişim:

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

Sağlık Payı:

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

Sağlık Güncellemesi:

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

Ev Kiti:

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

Yer:

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

Yer (Her Zaman):

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

Yer (Kullanımdayken):

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

Mikrofon:

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

Hareket (İvmeölçer):

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

NFC (Yakın alan iletişimi):

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

Fotoğraf kütüphanesi:

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

Fotoğraf Kitaplığı (Yalnızca yazma erişimi):

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

Hatırlatmalar:

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

Konuşma tanıma:

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

15
"Bu uygulama fotoğraf kütüphanesine erişim gerektirmez" dizesini kullanıyorum.
Daniel T.

Ben info.plist dosyasında anahtar ve dize ekledim sonra terminal kullanarak uygulama oluşturmak ve tüm bu değişiklikler kaldırıldı. lütfen üzerinde rehberlik edin
Dinesh Vaitage

Bunu ekledim ama yine de aynı hatayla kilitleniyor. Bu neden oluyor?
fish40

1
ionic info.plist dosyası nerede bulunur? Bunu elde edemiyorum.
Anuj

63

EN SEVDİĞİM YOL

1. Aç info.plist

resim açıklamasını buraya girin

2. Yeni bir anahtar eklemek için bu düğmeyi tıklayın

resim açıklamasını buraya girin

3. Gizliliği bulmak için aşağı kaydırın - Fotoğraf Kitaplığı Kullanımı Açıklama

resim açıklamasını buraya girin

4. Seçin, ardından açıklamanızı sağa ekleyin

resim açıklamasını buraya girin


Bunu ekledim ama yine de aynı hatayla kilitleniyor. Bu neden oluyor?
fish40

5
@ fish40 belki proje-hedef-bilgisini tıklamayı deneyebilir ve oraya ekleyip ne olduğunu görebilirsiniz?
Parlak Gelecek

12
anahtar açıklamayı günümü yaptı XD
Fareed Alnamrouti

2
Kullanım açıklaması beni gıdıkladı. Sorunumu çok mutlu bonus düzeltildi!
James Dunne

1
info.plist dosyası nerede bulunur? Bunu elde edemiyorum.
Anuj

17

İnfo.plist dosyasına aşağıdaki kodu ekleyin

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

resim açıklamasını buraya girin


2
Bu tam olarak ihtiyacım olan şeydi ... kaynak yolu ile sonunda uygulamayı yüklemeyi başardım! TNX :)
BvdVen

Bunun işe yaraması garip, ancak diğer yaklaşımlar işe yaramadı, belki de sadece xcode 9 beta'da bir hata. Bunun için çok teşekkürler !!!
JohnV

Hoş geldiniz, Mutlu size yardımcı oldu.
Dinesh Vaitage

10

Bu ikisini info.plist'e yapıştırmanız gerekiyor, iOS 11'de benim için çalışmanın tek yolu.

    <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

Kamera erişimi için:

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

1

Film rulosundan görüntü kaydetmek veya almak için. Ayrıca, kullanıcıdan izin istemeniz gerekir, aksi takdirde bu hatayı alırsınız veya uygulamanız çökebilir. Kendinizi bundan kurtarmak için bunu info.plist'e ekleyin

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

Xamarin.iOS davasında

 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 dosyasını ve bu kodu açın

<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'e anahtar dizesi çiftlerini eklediyseniz ( yukarıdaki Murat'ın cevabına bakın ) ve hala hatayı alıyorsanız, üzerinde çalışmakta olduğunuz hedefin anahtarları olup olmadığını kontrol etmeye çalışın.

Benim durumumda 2 hedefim vardı (geliştirme ve geliştirme). Editördeki anahtarları ekledim, ancak sadece ana hedef için çalışıyor ve geliştirme hedefini test ediyordum. Bu yüzden XCode'u açmak zorunda kaldım, proje> Bilgi> Geliştirme hedefi için anahtar çiftini buraya tıklayın.


0

IONIC 4 Projem için birkaç gün önce aynı sorunla karşılaştım. IPA'mı yüklediğimde, bu uyarıları App Store Connect'ten aldım.

resim açıklamasını buraya girin

Aşağıdaki adımlarla "info.plist içinde eksik amaç dize" sorunu düzeltildi. umarım sizin için de çalışır.

  1. "İnfo.plist" dosyanıza gidin.

resim açıklamasını buraya girin

  1. Adlı bu anahtarı bulun Privacy - Photo Library Usage Description. orada yoksa, yenisini ekleyin ve resmin altındaki gibi değeri.

resim açıklamasını buraya girin

Teşekkürler.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.