2016-09-15 10 views
99

Ostatnio zacząłem się ten błąd:klucz NSPhotoLibraryUsageDescription musi być obecny w Info.plist używać rolki z aparatu

NSPhotoLibraryUsageDescription key must be present in Info.plist to use camera roll.

Używam React Native zbudować swoją aplikację (nie jestem zaznajomiony z iOS rodzimy rozwojowych) i nie wiem, jak dodać ten klucz do Info.plist

Czy możesz podać przykład? Dzięki

używam pakiet npm "react-native-camera-roll-picker": "^1.1.7"

enter image description here

+1

Zobacz http://stackoverflow.com/a/39476283/1226963 na przykład co dodać do Info.plist. Po prostu przeszukaj "NSPhotoLibraryUsageDescription", a znajdziesz mnóstwo przykładów. – rmaddy

Odpowiedz

258

Dzięki @rmaddy dodałem to tuż po innych par klucz-strunowych w Info.plist i problem został rozwiązany:

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

Edytuj:

Też miałem podobne problemy na różnych komponentach mojej aplikacji. Skończyło się dodanie wszystkich tych kluczy do tej pory (po aktualizacji do 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> 

Zamówienie to developer.apple.com link pełną listę z listy właściwości referencji kluczowych.

Pełna lista:

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> 

Kalendarz:

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

Aparat:

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

Kontakt:

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

zdrowie Podziel się:

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

Zdrowie Aktualizacja: Kit

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

główna:

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

Lokalizacja:

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

Lokalizacja (zawsze):

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

Lokalizacja (kiedy w użyciu):

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

ruchu (akcelerometr):

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

Photo Library:

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

przypomnienia:

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

Rozpoznawanie mowy:

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

Używam napisu "Ta aplikacja nie wymaga dostępu do biblioteki zdjęć". –

+0

Dodałem klucz i ciąg w pliku info.plist, a następnie buduję aplikację za pomocą terminala i wszystkie te zmiany zostały usunięte. napisz o nim –

+0

Dodałem to, ale nadal się zawiesza z tym samym błędem. Dlaczego tak się dzieje? – fish40

3

Do stosowania dostępu kamery:

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

mój ulubiony sposób to zrobić

1. Otwórz info.plist

enter image description here

2.Kliknij ten przycisk, aby dodać nowy klucz

enter image description here

3. Przewiń w dół, aby znaleźćPrywatność - Photo Library Użycie Opis

enter image description here

4. zaznacz go, a następnie dodaj swój opis po prawej

enter image description here

+0

Dodałem to, ale nadal zawiesza się z tym samym błędem. Dlaczego tak się dzieje? – fish40

+4

@ fish40 może możesz spróbować kliknąć informacje o celu projektu i dodać go tam i zobaczyć, co się stanie? –

+0

@Brigt Future Dziękujemy, że działało – fish40

15

Dodaj następujący kod w Info.plist pliku

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

enter image description here

+1

To było dokładnie to, czego potrzebowałem ... ze źródłem, w końcu udało mi się załadować aplikację! TNX :) – BvdVen

+0

Dziwne, że to zadziałało, ale inne podejścia tego nie zrobiły, może to po prostu błąd na Xcode 9 beta. Wielkie dzięki za to !!! – JohnV

+0

Witaj, cieszę się, że to dla ciebie pomoże. –

2

Musisz wkleić te dwa w swojej Info.plist, to jedyny sposób, że pracował dla mnie za 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> 
+0

Dzięki temu kodowi naprawdę mi pomoże :) –

+0

Nie ma za co. @thakur –

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 

Otwórz plik plist i ten kod

<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> 
Powiązane problemy