तेजी से आईओएस में स्थान सेवाओं की अनुमति का अनुरोध करने के लिए हम CLLocationManager का उपयोग कर सकते हैं।
हम इसे एक नमूना परियोजना की मदद से करेंगे। तो, एक नया प्रोजेक्ट बनाएं। सबसे पहले, हमें आपके व्यू कंट्रोलर में एक स्थान प्रबंधक ऑब्जेक्ट बनाने की आवश्यकता है।
var locationManager =CLLocationManager()
अब, सबसे पहले, हमें यह जांचना होगा कि डिवाइस पर स्थान सेवाएं सक्षम हैं या नहीं। इसे जांचने के लिए हम उपयोग करेंगे
CLLocationManager.locationServicesEnabled() फ़ंक्शन, जो एक बूलियन मान लौटाता है, यह दर्शाता है कि डिवाइस पर स्थान सेवा सक्रिय है या नहीं।
अगर CLLocationManager.locationServicesEnabled() { प्रिंट ("अनुमतियां अनुमति दी गई")} और { locationManager.requestAlwaysAuthorization() locationManager.requestWhenInUseAuthorization()}
ऊपर के उदाहरण में, यदि स्थान सेवाएं सक्षम हैं, तो हम "अनुमति की अनुमति" प्रिंट करते हैं, अन्यथा हम दो प्रकार के प्राधिकरणों का अनुरोध करते हैं, हमेशा इनयूज और व्हेनइनयूज प्राधिकरण।
अब, आइए एक और उदाहरण देखें जहां हम देखेंगे कि किसी डिवाइस पर स्थान सेवाएं सक्रिय होने पर किस प्रकार की अनुमति दी जाती है।
हम CLLocationManager.authorizationStatus () पद्धति का उपयोग करेंगे, जो हमें दिए गए प्राधिकरण के प्रकार को लौटाती है। यह एक एनम है जिसमें 5 संभावित मान हैं।
आधिकारिक Apple दस्तावेज़ीकरण के अनुसार, एनम के निम्नलिखित मान हैं।
निर्धारित नहीं, प्रतिबंधित, अस्वीकृत, अधिकृत, अधिकृतव्हेनइनयूज।
आइए दूसरा उदाहरण देखें।
अगर CLLocationManager.locationServicesEnabled() { स्विच CLLocationManager.authorizationStatus() { केस .authorizedAlways,.authorizedHowInUse:प्रिंट ("अधिकृत।") केस। अस्वीकृत, प्रतिबंधित,। निर्धारित नहीं:प्रिंट ("अधिकृत नहीं")} }पूर्व>