लोकेशन परमिशन रिक्वेस्ट करने के लिए हम Apple के CLLocationManager क्लास का उपयोग करेंगे। आप इस क्लास के इंस्टेंसेस का उपयोग कोर लोकेशन सर्विसेज को कॉन्फिगर, शुरू और रोकने के लिए करते हैं।
CLLocationManager क्लास के बारे में यहाँ और पढ़ें: https://developer.apple.com/documentation/corelocation/cllocationmanager
iOS ऐप्स लोकेशन एक्सेस के दो लेवल्स में से एक को सपोर्ट कर सकते हैं:
- ऐप का उपयोग करते समय - ऐप डिवाइस की लोकेशन एक्सेस कर सकता है जब ऐप उपयोग में हो। इसे "when-in-use authorization" के रूप में भी जाना जाता है।
- हमेशा - ऐप डिवाइस की लोकेशन तब एक्सेस कर सकता है जब ऐप उपयोग में हो या बैकग्राउंड में।
यहां हम when-in-use authorization का उपयोग करेंगे: अपने ऐप के चलने पर केवल लोकेशन सर्विसेज का उपयोग करने के लिए ऑथराइजेशन रिक्वेस्ट करें।
चरण 1: प्रोजेक्ट बनाएं
Xcode खोलें, Single View Application, नाम दें "LocationServices"
चरण 2: UI में बटन जोड़ें
Main.storyboard खोलें और एक बटन जोड़ें और उसका नाम "getLocation" रखें।

चरण 3: बटन का IBAction जोड़ें
@IBAction func btnGetLocation(_ sender: Any) { }
चरण 4: CoreLocation इम्पोर्ट करें
import CoreLocation
चरण 5: Info.plist में परमिशन कीज़ जोड़ें
अपनी info.plist खोलें (ऐप चलने पर लोकेशन अपडेट्स के लिए परमिशन इनेबल करने के लिए एक स्पेशल की जरूरी है)। राइट-क्लिक करें और Add Row चुनें। निम्न मान दर्ज करें।

चरण 6: CLLocationManager ऑब्जेक्ट बनाएं
let locationManager = CLLocationManager()
चरण 7: बटन एक्शन में कोड जोड़ें
@IBAction func btnGetLocation(_ sender: Any) {
let locStatus = CLLocationManager.authorizationStatus()
switch locStatus {
case .notDetermined:
locationManager.requestWhenInUseAuthorization()
return
case .denied, .restricted:
let alert = UIAlertController(title: "Location Services are disabled", message: "Please enable Location Services in your Settings", preferredStyle: .alert)
let okAction = UIAlertAction(title: "OK", style: .default, handler: nil)
alert.addAction(okAction)
present(alert, animated: true, completion: nil)
return
case .authorizedAlways, .authorizedWhenInUse:
break
}
}
authorizationStatus करंट ऑथराइजेशन स्टेटस को locStatus में रिटर्न करता है। When in use ऑथराइजेशन ऐप के फोरग्राउंड में होने पर लोकेशन अपडेट्स प्राप्त करता है। जब लोकेशन सर्विसेज डिसेबल होती हैं, तो यूजर को "Location Services are disabled" मैसेज के साथ अलर्ट दिखाया जाएगा।
एप्लिकेशन चलाएं
