2017-10-03 20 views
5

मैं अपने ऐप में उपयोगकर्ता स्थान का अनुरोध कर रहा हूं।आईओएस में स्थान एक्सेस अनुरोध 11

locationManager.requestAlwaysAuthorization() 

कोड की यह पंक्ति यह अलर्ट संदेश लौटना चाहिए:

enter image description here

हालांकि, मैं उपयोगकर्ता के बीच "अनुमति न दें" और केवल "हमेशा अनुमति दें" चुनना चाहते हैं। मैं केवल "ऐप का उपयोग करते समय" विकल्प को कैसे हटा सकता हूं?

यह जानकर कि मैं info.plist में जो कुछ भी शामिल करता हूं, और जानकारी में इन 3 पंक्तियों से किसी भी पंक्ति को हटा रहा हूं। ऐप इस ऐप को बिल्कुल भी नहीं दिखा रहा है।

enter image description here

उत्तर

1

WWDC 2017 Session 713 स्थान प्रौद्योगिकियों में अपडेट के बारे में के अनुसार, आप हमेशा जब उपयोग विवरण में शामिल करना चाहिए जब आईओएस 11 से लिंक हो रहा है और बाद में, यदि आप हमेशा प्राधिकरण का अनुरोध करना चाहते हैं। और आईओएस अतिरिक्त रूप से जब उपयोग में मोड के लिए स्थान का उपयोग करने के लिए एक विकल्प प्रदर्शित करेगा।

सत्र प्रतिलेख से उद्धरण।

तो आईओएस 11 के लिए हम सभी डेवलपर्स से हमेशा पूछे जाने वाले ऐप्स से अनुरोध करते हैं कि अतिरिक्त रूप से WhenInUse प्रमाणीकरण मोड का समर्थन करें। यह परिवर्तन दोनों रेट्रोएक्टिव और फॉरवर्ड-लुकिंग है, इसलिए जब उपयोगकर्ता आईओएस 11 को अपडेट करता है, तो वे किसी भी ऐप को अधिकृत करने में सक्षम होंगे जो अनुरोध करते हैं कि इसके बजाय हमेशा InInUse प्राधिकरण मोड को अधिकृत करें। यदि आप आईओएस 11 एसडीके के खिलाफ लिंक करते हैं, तो आपको एक WhenInUseUsageDescription प्रदान करना होगा। अन्यथा, आपका ऐप हमेशा प्राधिकरण का अनुरोध करने में असमर्थ होगा। इसके अलावा, जब आपका ऐप हमेशा प्राधिकरण का अनुरोध करता है, तो हम इसके अलावा आपके ऐप को अनुदान देने के लिए एक विकल्प प्रदर्शित करेंगे। इन नए तीन विकल्प संकेतों के साथ हमारे पास एक नई उपयोग डिस्क्रिप्शन स्ट्रिंग भी है। आपके ऐप को हमेशा और हमेशा उपयोग डिस्क्रिप्शन प्रदान करने की आवश्यकता है। चूंकि यह एक अलग कुंजी है क्योंकि जब आप नए आईओएस 11 एसडीके के खिलाफ लिंक करते हैं तो आपके ऐप को इसे अवश्य प्रदान करना होगा। आईओएस 11 और बाद के संस्करण से जुड़े ऐप्स के लिए, कोर स्थान पुरानी एनएसएलोकेशन हमेशा उपयोग डिस्क्रिप्शन कुंजी का उपयोग नहीं करेगा।

6

यह अब वैकल्पिक नहीं है।

आईओएस 11 जारी किया गया है, यदि आपका एप्लिकेशन हमेशा स्थान पर रहने का अनुरोध करता है (locationManager.requestAlwaysAuthorization()) उपयोगकर्ताओं को स्वचालित रूप से सभी तीन विकल्प दिए जाएंगे।

पिछले आईओएस संस्करणों के विपरीत, सभी विकल्प को उपयोगकर्ता को प्रदर्शित किया जाना चाहिए; इससे आगे बढ़ता है: आपको दोनों विकल्पों के लिए एक कुंजी जोड़नी होगी; Apple Request Always Authorization Article से अनुकूलित:

आप अपने ऐप के Info.plist फ़ाइल में NSLocationWhenInUseUsageDescription और NSLocationAlwaysAndWhenInUsageDescription कुंजी शामिल करने के लिए आवश्यक हैं। (यदि आपका ऐप आईओएस 10 और इससे पहले, NSLocationAlwaysUsageDescription कुंजी भी आवश्यक है।) यदि उन कुंजी मौजूद नहीं हैं, तो प्राधिकरण अनुरोध तुरंत विफल हो जाते हैं।

संदर्भ: What's New in Location Technologies वीडियो सत्र।

+0

आपका उत्तर सही है, हालांकि, मैं 2 उत्तरों को सही उत्तरों के रूप में चिह्नित नहीं कर सकता। – mahdi

संबंधित मुद्दे