आईओएस 10.0 रनटाइम क्रैश में NSCameraUsageDescription?


154

iOS 10.0अंतिम बीटा का उपयोग करना । मैंने अपने ऐप में बारकोड को स्कैन करने के लिए कैमरा का उपयोग करने की कोशिश की थी, और यह इस रनटाइम त्रुटि के साथ क्रैश हो गया।

यह एप्लिकेशन क्रैश हो गया है क्योंकि इसने उपयोग विवरण के बिना गोपनीयता-संवेदनशील डेटा तक पहुंचने का प्रयास किया। एप्लिकेशन के Info.plist में उपयोगकर्ता को यह बताते हुए एक स्ट्रिंग मान के साथ एक NSCameraUsageDescription कुंजी होनी चाहिए कि ऐप इस डेटा का उपयोग कैसे करता है।

इस कुंजी को प्लिस्ट में रखें, लेकिन यह अभी भी दुर्घटनाग्रस्त हो गया है?


6
मेरे पास एक ही मुद्दा है, info.plist में NSCameraUsageDescription जोड़ा, लेकिन फिर भी एक ही संदेश के साथ क्रैश होता है। क्या आप इसे हल करने में कामयाब रहे हैं? जाहिर है, इस समस्या का जवाब देने वाले किसी ने भी यह नहीं समझा कि अगर आपने पहले ही कुंजी जोड़ दी है तो भी यह दुर्घटनाग्रस्त हो जाती है।
कारमेनए

यदि आपने प्रविष्टि को सही info.plist फ़ाइल में जोड़ दिया है, लेकिन यह अभी भी विफल रहा है, तो ऐसा हो सकता है क्योंकि Xcode कभी-कभी संसाधन फ़ाइलों जैसे सूचना में परिवर्तन को नोटिस करने में विफल रहता है। नवीनतम संस्करण का उपयोग करने के लिए Xcode को बाध्य करने के लिए व्युत्पन्न डेटा फ़ोल्डर से एप्लिकेशन बिल्ड उत्पाद को साफ या हटाएं।
वॉल्ट सेलर्स

जवाबों:


227

IOS 10 के बाद आपको अपने ऐप द्वारा एक्सेस किए गए सिस्टम के सभी गोपनीयता-संवेदनशील डेटा का उपयोग विवरण परिभाषित करना होगा और नीचे दिए गए अनुसार नीचे दिया जाना चाहिए:

पंचांग

Key    :  Privacy - Calendars Usage Description    
Value  :  $(PRODUCT_NAME) calendar events

अनुस्मारक :

Key    :   Privacy - Reminders Usage Description    
Value  :   $(PRODUCT_NAME) reminder use

संपर्क करें :

Key    :   Privacy - Contacts Usage Description     
Value  :  $(PRODUCT_NAME) contact use

तस्वीर :

Key    :  Privacy - Photo Library Usage Description    
Value  :  $(PRODUCT_NAME) photo use

ब्लूटूथ शेयरिंग:

Key    :  Privacy - Bluetooth Peripheral Usage Description     
Value  :  $(PRODUCT_NAME) Bluetooth Peripheral use

माइक्रोफोन:

Key    :  Privacy - Microphone Usage Description    
Value  :  $(PRODUCT_NAME) microphone use

कैमरा :

Key    :  Privacy - Camera Usage Description   
Value  :  $(PRODUCT_NAME) camera use

स्थान :

Key    :  Privacy - Location Always Usage Description   
Value  :  $(PRODUCT_NAME) location use

Key    :  Privacy - Location When In Use Usage Description   
Value  :  $(PRODUCT_NAME) location use

हीथ:

Key    :  Privacy - Health Share Usage Description   
Value  :  $(PRODUCT_NAME) heath share use

Key    :  Privacy - Health Update Usage Description   
Value  :  $(PRODUCT_NAME) heath update use

होमकिट:

Key    :  Privacy - HomeKit Usage Description   
Value  :  $(PRODUCT_NAME) home kit use

मीडिया पुस्तकालय :

Key    :  Privacy - Media Library Usage Description   
Value  :  $(PRODUCT_NAME) media library use

गति:

Key    :  Privacy - Motion Usage Description   
Value  :  $(PRODUCT_NAME) motion use

वाक् पहचान :

Key    :  Privacy - Speech Recognition Usage Description   
Value  :  $(PRODUCT_NAME) speech use

सिरीकिट:

Key    :  Privacy - Siri Usage Description  
Value  :  $(PRODUCT_NAME) siri use

टीवी प्रदाता:

Key    :  Privacy - TV Provider Usage Description   
Value  :  $(PRODUCT_NAME) tvProvider use

आप इस लिंक में विस्तृत जानकारी प्राप्त कर सकते हैं ।


1
Privacy - Photo Library Usage Descriptionयह त्रुटि के लिए कियाNSPhotoLibraryUsageDescription
ब्रूनो बीरी

Apple विकास के लिए नया है और यह मुद्दा कष्टप्रद था। खुशी है कि मैं इस पर आया था। चीयर्स!
user2529011

1
@MaylorTaylor: हां, आपको इसे जोड़ना होगा।
भूपि

111

जैसा कि Apple ने बदल दिया है कि आप किसी भी उपयोगकर्ता के निजी डेटा प्रकारों तक कैसे पहुंच सकते हैं iOS 10

आपको Privacy - Camera usage descriptionअपने ऐप की " " कुंजी Info.plistऔर उनके उपयोग की जानकारी जो आपके आवेदन के लिए लागू है, जोड़ने की जरूरत है , जैसा कि नीचे दिए उदाहरण में मैंने प्रदान किया था कि मैंने बारकोड को स्कैन करने के लिए उपयोग किया है।

अधिक जानकारी के लिए कृपया नीचे स्क्रीनशॉट देखें।

यहाँ छवि विवरण दर्ज करें


62

आपको इस नीचे दी गई कुंजी को info.plist में जोड़ना होगा।

NSCameraUsageDescription या Privacy - Camera usage description

और उपयोग का विवरण जोड़ें।

इस लिंक में विस्तृत स्क्रीनशॉट उपलब्ध हैं


ऐसा लगता है कि वह पहले से ही जोड़ा है, लेकिन अभी भी दुर्घटना हो रही है। यह वही मुद्दा है, जहां मैं कर रहा हूं, भले ही कि KVP प्लिस्ट में हो, यह अभी भी दुर्घटनाग्रस्त है जैसे कि यह नहीं है।

43

वैकल्पिक रूप से Info.plist को स्रोत कोड के रूप में खोलें और इसे जोड़ें:

<key>NSCameraUsageDescription</key>
<string>Camera usage description</string>

4
मामले में किसी को "NSCameraUsageDescription", जोड़ने के स्थानीय बनाना करने के लिए देख रहा है "NSCameraUsageDescription" = "Requires access to the camera";अपने स्थानीय में infoPlist.strings फ़ाइल
खुर्रम शहजाद

30

इन कच्चे मूल्यों का उपयोग करें और info.plist में कॉपी करें

    <key>NSCalendarsUsageDescription</key>
      <string>$(PRODUCT_NAME) calendar events</string>
    <key>NSRemindersUsageDescription</key>
      <string>$(PRODUCT_NAME) reminder use</string>
    <key>NSCameraUsageDescription</key>
      <string>This app requires to access your photo library to show image on profile and send via chat</string>
    <key>NSMicrophoneUsageDescription</key>
      <string>This app requires to access your microphone to record video with your voice send via chat</string>
    <key>NSPhotoLibraryUsageDescription</key>
      <string>This app requires to access your photo library to show image on profile and send via chat</string>
    <key>NSContactsUsageDescription</key>
       <string>$(PRODUCT_NAME) contact use</string>
    <key>NSLocationAlwaysUsageDescription</key>
      <string>$(PRODUCT_NAME) location use</string>
    <key>NSLocationWhenInUseUsageDescription</key>
      <string>$(PRODUCT_NAME) location use</string>

आप से इन कच्चे कुंजी नाम मिला?
उमर एन शामली

यह भी खूब रही। इसने मुझे
XCode

26

xcode UI एक संस्करण से अगले में थोड़ा बदल गया है, इसलिए यहां आप 9.0 बीटा 4 के लिए प्लिस्ट को अपडेट करें यदि यह प्रोजेक्ट में मदद करता है -> लक्ष्य -> ​​जानकारीयहाँ छवि विवरण दर्ज करें


2
यह स्वीकृत उत्तर होना चाहिए! मैं XCode 9.2 पर यह एक ही मुद्दा रहा था, पहले <key>NSCameraUsageDescription</key>से ही info.plist में जोड़े जाने के बावजूद ।
Psantos

2
निश्चित रूप से स्वीकृत उत्तर !! मैं अपने प्रोजेक्ट में दो लक्ष्य है, और मैं इस जोड़ने के लिए कोशिश की है <key>NSCameraUsageDescription</key>दूसरे के लिए Info.plist फ़ाइल है, लेकिन कोई प्रभाव के साथ, और मैं Git स्थिति चलाकर पुष्टि कर सकते हैं कि XCode (10.1) निश्चित रूप से खाते में उन परिवर्तनों को नहीं ले रही है , क्योंकि एक और लक्ष्य के लिए मेरी जानकारी.प्लिस्ट में कोई बदलाव नहीं हुआ। तो सही तरीका प्रोजेक्ट-> लक्ष्य-> जानकारी से गुजरना है । धन्यवाद दोस्त!
Bra.Scene

4

एक और उदाहरण जो मुझे कैमरे का उपयोग करने की कोशिश करते समय सामना करना पड़ा, वह यह था कि _CRASHING_DUE_TO_PRIVACY"कैमरा उपयोग विवरण" को जोड़ने के बाद भी यह समान रूप से दुर्घटनाग्रस्त होने में व्यस्त था । कॉल स्टैक से कुछ भी प्राप्त करने में विफल होने के बाद, "ऑर्गनाइज़र" पर स्विच किया और डिवाइस पर क्रैश रिपोर्ट पर ध्यान दिया। मैंने पाया कि वास्तव में यह "माइक्रोफ़ोन उपयोग विवरण" गुम होने के कारण गोपनीयता के बारे में शिकायत कर रहा था। मैंने इसे जोड़ा और इस तरह के एक गुप्त विच्छेद से छुटकारा पाया।


4

उन लोगों के लिए जो अभी भी त्रुटि प्राप्त कर रहे हैं, भले ही आपने Info.plist में उचित कुंजियाँ जोड़ी हों:

सुनिश्चित करें कि आप सही Info.plist में कुंजी जोड़ रहे हैं। XCode का नया संस्करण, जाहिरा तौर पर 3 Info.plist है।

आपके ऐप के नाम के साथ एक फ़ोल्डर है जो मेरे लिए समस्या हल करता है।

दूसरा YourappnameTests के तहत है और तीसरा YourappnameUITests के अंतर्गत है।

आशा करता हूँ की ये काम करेगा।


2

यदि आप आयोनिक का उपयोग कर रहे हैं, तो आप इसे सीधे प्लेटफॉर्म ios टैग से जोड़कर config.xml से हल कर सकते हैं :

<platform name="ios">
.
.
.
    <config-file target="*-Info.plist" parent="NSPhotoLibraryUsageDescription">
        <string>photo library usage description</string>
    </config-file>
    <config-file target="*-Info.plist" parent="NSCameraUsageDescription">
        <string>camera usage description</string>
    </config-file>
.
.
.
</platform>

मैं @BHUPI उत्तर भी देना चाहता हूँ।


1

आप अपने ऐप के Info.plist में एक यूज़ कुंजी के साथ एक उपयोग कुंजी जोड़कर ऐसा करते हैं। NSCameraUsageDescription डिवाइस के कैमरे तक पहुंचने के लिए आपके ऐप के कारण को निर्दिष्ट करता है

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


1

मैंने प्लिस्ट की जाँच की और पाया कि यह काम नहीं कर रहा है, केवल "प्रोजेक्ट" जानकारी में, आपको "गोपनीयता - कैमरा ...." जोड़ना होगा, फिर यह काम करना चाहिए। आशा है कि आपकी मदद करेंगे।


0

मुझे भी यही समस्या थी और इसका हल नहीं मिल रहा था। Mark90 सही है बहुत सारी जानकारी है। फाइल फाइलें हैं और आपको सही संपादन करना चाहिए। TARGETS के तहत प्रोजेक्ट पर जाएं, प्रोजेक्ट चुनें (परीक्षण नहीं), टैब बार में जानकारी चुनें और " कस्टम iOS लक्ष्य गुण " के तहत अनुमति जोड़ें ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.