ठीक होना चाहिए अच्छा :-), आप टुकड़ा इस जवाब और टिप्पणियों को पहले से ही से एक साथ की सॉर्ट कर सकते हैं, लेकिन एक और अधिक पूरा कहानी बताने के लिए प्रयास करने के लिए है ...
आईओएस 11, UIImagePickerController
आपके ऐप से एक अलग प्रक्रिया के रूप में चलता है। इसका अर्थ है:
- आपका ऐप उपयोगकर्ता की पूरी फ़ोटो लाइब्रेरी नहीं देख सकता है - यह केवल छवि पिकर में उपयोगकर्ता द्वारा चुने गए किसी भी संपत्ति (खातों) के लिए केवल पढ़ने के लिए पहुंच प्राप्त करता है।
- (1) के कारण, आपके ऐप को फ़ोटो लाइब्रेरी एक्सेस के लिए मानक गोपनीयता प्राधिकरण की आवश्यकता नहीं है। उपयोगकर्ता स्पष्ट रूप से आपके ऐप में उपयोग के लिए एक विशिष्ट संपत्ति (या एकाधिक) चुनता है, जिसका अर्थ है कि उपयोगकर्ता आपकी ऐप को प्रश्न में संपत्ति (ओं) को पढ़ने की अनुमति दे रहा है।
आप इस in the WWDC17 talk on PhotoKit के बारे में और अधिक देख सकते हैं।
(वैसे, इस मॉडल से मेल खाता है क्या आप आईओएस 9 के बाद से in the Contacts framework देखा है, यदि आप संपर्क पिकर दिखाने के लिए, आपका ऐप्लिकेशन केवल संपर्क (रों) उपयोगकर्ता उठाया के लिए संपर्क जानकारी की एक बार की बूंद हो जाता है, संपर्क डेटाबेस के लिए नहीं चल रही पढ़ने/लिखने के लिए एक्सेस, तो संपर्क पिकर विशेष गोपनीयता अनुमति की आवश्यकता नहीं है।) फ़ोटो पहुँच के लिए है कि उपयोगकर्ताओं को नियंत्रित कर सकते हैं
PHPhotoLibrary
और उसके प्राधिकरण स्थिति वैश्विक पढ़ने/लिखने की अनुमति को प्रतिबिंबित सेटिंग्स> गोपनीयता से। (यही वह जगह है जहां आपकी Info.plist को NSPhotoLibraryUsageDescription
की आवश्यकता है।) PHPhotoLibrary
एपीआई के किसी भी उपयोग के लिए इस अनुमति की आवश्यकता है, भले ही आपके ऐप का उस एपीआई का उपयोग केवल लेखन के लिए है या केवल पढ़ने के लिए है। यह सच है कि आप PHPhotoLibrary
, PHAsset
, प्रयोग नहीं कर रहे हो चुके हैं PhotoKit आईओएस 8.
में पेश किया गया था आदि, वहाँ संकरा अनुमति विकल्प है कि आईओएस 11 में नए हैं (और Photos.framework एपीआई का हिस्सा नहीं) :
- जैसा कि ऊपर बताया,
UIImagePickerController
क्योंकि प्रत्येक उपयोग के अनुदान एक बार चुना विशिष्ट परिसंपत्तियों के लिए पढ़ने की पहुंच कंबल गोपनीयता सेटिंग्स अनुमति की जरूरत नहीं है।
यदि आपको केवल फ़ोटो लाइब्रेरी में नई संपत्तियां जोड़ने की आवश्यकता है, तो UIImageWriteToSavedPhotosAlbum
या UISaveVideoAtPathToSavedPhotosAlbum
का उपयोग करें। उन लोगों के साथ आप NSPhotoLibraryAddUsageDescription
को अपनी Info.plist में डाल सकते हैं - तब सिस्टम की गोपनीयता सेटिंग्स उपयोगकर्ता को स्पष्ट कर देगी कि वे मौजूदा संपत्तियों को देखने या संशोधित करने की अनुमति नहीं दे रहे हैं, केवल नए जोड़ने के लिए।
यदि उपयोगकर्ता केवल-अनुमति की अनुमति देता है, तो यह केवल उन UIKit फ़ंक्शंस पर लागू होता है - PHPhotoLibrary
का उपयोग करने का प्रयास करने के लिए अभी भी (और Info.plist कुंजी की आवश्यकता है) पढ़ने/लिखने के लिए उपयोग किया जाएगा।
केवल this part of the WWDC17 talk को केवल-जोड़ने के लिए गोपनीयता सेटिंग पर अधिक देखें।
आपने कौन सी कुंजी info.plist में जोड़ दी है? –
गोपनीयता - फोटो लाइब्रेरी उपयोग विवरण – gvuksic
क्या आपने सिम्युलेटर या डिवाइस के साथ प्रयास किया था? – Govaadiyo