बैकग्राउंड लोकेशन अपडेट्स सक्षम करना
Swift में बैकग्राउंड लोकेशन प्राप्त करने के लिए हमें कुछ चरणों से गुजरना होगा।
- यूजर से परमिशन प्राप्त करें, अपनी info.plist फाइल में Privacy - Location Always और When In Usage Description, Privacy - When In Usage Description जोड़ें और उनका संबंधित विवरण जोड़ें।
- उसके बाद, आपको CoreLocation फ्रेमवर्क इम्पोर्ट करना होगा जो आपको सभी लोकेशन संबंधी लाइब्रेरी और मेथड्स का उपयोग करने में सक्षम करेगा। फिर आपको लोकेशन उपयोग करने के लिए यूजर से परमिशन प्राप्त करने की आवश्यकता है। इसके लिए, हमें एक CLLocationManager ऑब्जेक्ट बनाना होगा और ऑथराइजेशन प्राप्त करना होगा।
var locationManager: CLLocationManager?
override func viewDidLoad() {
super.viewDidLoad()
locationManager = CLLocationManager()
locationManager?.delegate = self
locationManager?.requestAlwaysAuthorization()
}
अब जब आप ऐप चलाते हैं और यदि इसे विशिष्ट मॉड्यूल में लोकेशन की आवश्यकता होती है तो यह यूजर परमिशन मांगेगा। उसके बाद आप लोकेशन परिवर्तनों की निगरानी शुरू करने, लोकेशन अपडेट करने आदि के लिए निम्नलिखित कोड जोड़ सकते हैं।
locationManager.startUpdatingLocation()
locationManager.startMonitoringSignificantLocationChanges()
locationManager.allowsBackgroundLocationUpdates = true
एक बार यह हो जाने पर आप CLLocationManagerDelegate के didUpdateLocation मेथड का उपयोग करके लोकेशन को बैकग्राउंड में अपने सर्वर पर अपडेट कर सकते हैं।
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
// Hit api to update location
}
अब जब भी लोकेशन अपडेट होती है, CLLocationManagerDelegate का यह मेथड कॉल किया जाएगा और इसके अंदर हम सर्वर पर लोकेशन अपडेट करने का कोड लिख सकते हैं।