IOS10 में, इससे पहले कि आप कैमरा, कॉन्टैक्ट्स जैसे प्राइवेसी-सेंसिटिव डेटा को एक्सेस करें, आपको ऑथराइजेशन के लिए पूछना होगा, या जब आप उन्हें एक्सेस करेंगे तो आपका ऐप क्रैश हो जाएगा। तब Xcode लॉग इन होगा:
यह एप्लिकेशन क्रैश हो गया है क्योंकि इसने उपयोग विवरण के बिना गोपनीयता-संवेदनशील डेटा तक पहुंचने का प्रयास किया। एप्लिकेशन के Info.plist NSContactsUsageDescription
में उपयोगकर्ता को यह बताते हुए एक स्ट्रिंग मान होना चाहिए कि ऐप इस डेटा का उपयोग कैसे करता है।
इससे कैसे निपटें?
अपने नाम की परियोजना में फ़ाइल खोलें info.plist
, इसे राइट क्लिक करें, इसे खोलने के रूप में Source Code
, नीचे इस कोड को पेस्ट करें। या आप डिफ़ॉल्ट info.plist
रूप Property List
से खोल सकते हैं, ऐड बटन पर क्लिक करें, Xcode आपको Privacy -
कीबोर्ड ⬇️ और ⬆️ की मदद से टाइप करते हुए सुझाव पूर्णता देगा।
अपना वर्णन लिखना याद रखें कि आप इस प्राधिकरण के लिए क्यों कहते हैं, बीच में <string>
और </string>
, या ऐप द्वारा अस्वीकार कर दिया जाएगा:
<!-- 🖼 Photo Library -->
<key>NSPhotoLibraryUsageDescription</key>
<string>$(PRODUCT_NAME) photo use</string>
<!-- 📷 Camera -->
<key>NSCameraUsageDescription</key>
<string>$(PRODUCT_NAME) camera use</string>
<!-- 🖼 Write To Image Gallery>
<key>NSPhotoLibraryAddUsageDescription</key>
<string>$(PRODUCT_NAME) save phots in gallry</string>
<!-- 🎤 Microphone -->
<key>NSMicrophoneUsageDescription</key>
<string>$(PRODUCT_NAME) microphone use</string>
<!-- 📍 Location -->
<key>NSLocationUsageDescription</key>
<string>$(PRODUCT_NAME) location use</string>
<!-- 📍 Location When In Use -->
<key>NSLocationWhenInUseUsageDescription</key>
<string>$(PRODUCT_NAME) location use</string>
<!-- 📍 Location Always -->
<key>NSLocationAlwaysUsageDescription</key>
<string>$(PRODUCT_NAME) always uses location </string>
<!-- 📆 Calendars -->
<key>NSCalendarsUsageDescription</key>
<string>$(PRODUCT_NAME) calendar events</string>
<!-- ⏰ Reminders -->
<key>NSRemindersUsageDescription</key>
<string>$(PRODUCT_NAME) reminder use</string>
<!-- 📒 Contacts -->
<key>NSContactsUsageDescription</key>
<string>$(PRODUCT_NAME) contact use</string>
<!-- 🏊 Motion -->
<key>NSMotionUsageDescription</key>
<string>$(PRODUCT_NAME) motion use</string>
<!-- 💊 Health Update -->
<key>NSHealthUpdateUsageDescription</key>
<string>$(PRODUCT_NAME) heath update use</string>
<!-- 💊 Health Share -->
<key>NSHealthShareUsageDescription</key>
<string>$(PRODUCT_NAME) heath share use</string>
<!-- ᛒ🔵 Bluetooth Peripheral -->
<key>NSBluetoothPeripheralUsageDescription</key>
<string>$(PRODUCT_NAME) Bluetooth Peripheral use</string>
<!-- 🎵 Media Library -->
<key>NSAppleMusicUsageDescription</key>
<string>$(PRODUCT_NAME) media library use</string>
<!-- 📱 Siri -->
<key>NSSiriUsageDescription</key>
<string>$(PRODUCT_NAME) siri use</string>
<!-- 🏡 HomeKit -->
<key>NSHomeKitUsageDescription</key>
<string>$(PRODUCT_NAME) home kit use</string>
<!-- 📻 SpeechRecognition -->
<key>NSSpeechRecognitionUsageDescription</key>
<string>$(PRODUCT_NAME) speech use</string>
<!-- 📺 VideoSubscriber -->
<key>NSVideoSubscriberAccountUsageDescription</key>
<string>$(PRODUCT_NAME) tvProvider use</string>
यदि यह काम नहीं करता है, तो पृष्ठभूमि प्राधिकरण के लिए पूछने का प्रयास करें:
<key>UIBackgroundModes</key>
<array>
<!-- something you should use in background -->
<string>location</string>
</array>
या जाने target -> Capabilities -> Background Modes -> open the background Modes
:
फिर अपने प्रोजेक्ट को साफ करें, इसे चलाएं।
अधिक जानकारी के लिए पर जाएँ: iOS10AdaptationTips ।