คีย์ NSPhotoLibraryUsageDescription ต้องมีอยู่ใน Info.plist เพื่อใช้ม้วนฟิล์ม


157

เมื่อเร็ว ๆ นี้ฉันเริ่มได้รับข้อผิดพลาดนี้:

คีย์ NSPhotoLibraryUsageDescription ต้องมีอยู่ใน Info.plist เพื่อใช้ม้วนฟิล์ม

ฉันใช้ React Native เพื่อสร้างแอปของฉัน (ฉันไม่คุ้นเคยกับการพัฒนาดั้งเดิมของ ios) และฉันไม่รู้วิธีเพิ่มคีย์นี้ใน Info.plist

คุณสามารถโพสต์ตัวอย่างได้ไหม? ขอบคุณ

ฉันใช้แพ็กเกจ npm "react-native-camera-roll-picker": "^1.1.7"

ป้อนคำอธิบายรูปภาพที่นี่


1
ดูstackoverflow.com/a/39476283/1226963สำหรับตัวอย่างของสิ่งที่จะเพิ่มใน Info.plist นอกจากนี้เพียงทำการค้นหาNSPhotoLibraryUsageDescriptionและคุณจะพบตัวอย่างมากมาย
rmaddy

คำตอบ:


393

ขอบคุณ @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นี้เพื่อดูรายการอ้างอิงคีย์รายการทรัพย์สินทั้งหมด

รายการเต็ม:

เพลงของ Apple:

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

การเคลื่อนไหว (Accelerometer):

<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
ฉันใช้สตริง "แอพนี้ไม่ต้องการการเข้าถึงคลังภาพ"
Daniel T.

ฉันได้เพิ่มคีย์และสตริงในไฟล์ info.plist จากนั้นฉันสร้างแอปโดยใช้เทอร์มินัลและการเปลี่ยนแปลงทั้งหมดเหล่านี้ได้ถูกลบออก กรุณาแนะนำเกี่ยวกับมัน
Dinesh Vaitage

ฉันเพิ่มสิ่งนี้ แต่ยังคงทำงานล้มเหลวด้วยข้อผิดพลาดเดียวกัน ทำไมสิ่งนี้จึงเกิดขึ้น
fish40

1
จะหาไฟล์ข้อมูลได้ที่ไหนใน ionic ฉันไม่สามารถรับมันได้
Anuj

63

รายการโปรดของฉันจะทำอย่างไร

1. เปิด info.plist

ป้อนคำอธิบายรูปภาพที่นี่

2. คลิกที่ปุ่มนี้เพื่อเพิ่มรหัสใหม่

ป้อนคำอธิบายรูปภาพที่นี่

3. เลื่อนลงเพื่อค้นหา ความเป็นส่วนตัว - คำอธิบายการใช้งานคลังรูปภาพ

ป้อนคำอธิบายรูปภาพที่นี่

4. เลือกจากนั้นเพิ่มคำอธิบายของคุณทางด้านขวา

ป้อนคำอธิบายรูปภาพที่นี่


ฉันเพิ่มสิ่งนี้ แต่ยังคงทำงานล้มเหลวด้วยข้อผิดพลาดเดียวกัน ทำไมสิ่งนี้จึงเกิดขึ้น
fish40

5
@ fish40 คุณอาจลองคลิก project-target-info แล้วเพิ่มเข้าไปที่นั่นและดูว่าเกิดอะไรขึ้น
อนาคตที่สดใส

12
คำอธิบายที่สำคัญของคุณทำให้วันของฉัน XD
Fareed Alnamrouti

2
คำอธิบายการใช้งานทำให้ฉันเจ็บ แก้ไขปัญหาของฉันด้วยเช่นกันโบนัสที่มีความสุขมาก!
James Dunne

1
จะหาไฟล์ข้อมูลได้ที่ไหน ฉันไม่สามารถรับมันได้
Anuj

17

เพิ่มรหัสต่อไปนี้ในไฟล์ info.plist

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

ป้อนคำอธิบายรูปภาพที่นี่


2
นี่คือสิ่งที่ฉันต้องการ ... ด้วยวิธีที่มาฉันก็ประสบความสำเร็จในการอัปโหลดแอปของฉัน! TNX :)
BvdVen

มันแปลกที่มันใช้งานได้ แต่วิธีการอื่นไม่ได้อาจเป็นแค่ข้อผิดพลาดใน xcode 9 เบต้า ขอบคุณมากสำหรับสิ่งนี้ !!!
JohnV

ยินดีต้อนรับความสุขช่วยคุณได้
Dinesh Vaitage

10

คุณต้องวางทั้งสองนี้ไว้ใน info.plist วิธีเดียวที่ใช้ได้กับ iOS 11 สำหรับฉัน

    <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 เป้าหมาย (dev และการพัฒนา) ฉันเพิ่มคีย์ในเครื่องมือแก้ไข แต่ใช้งานได้กับเป้าหมายหลักเท่านั้นและฉันกำลังทดสอบเป้าหมายการพัฒนา ดังนั้นฉันต้องเปิด 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.