बैकग्राउंड लोकेशन को तेजी से प्राप्त करने के लिए हमें कुछ चरणों से गुजरना होगा
उपयोगकर्ता से अनुमति प्राप्त करें, अपनी info.plist फ़ाइल में गोपनीयता जोड़ें- स्थान हमेशा और
जब उपयोग में हो विवरण, गोपनीयता - जब उपयोग विवरण में हो और उनका संबंधित विवरण जोड़ें।
उसके बाद, आपको 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 के इस तरीके को कॉल किया जाएगा और इसके अंदर हम सर्वर पर लोकेशन अपडेट करने के लिए कोड लिख सकते हैं।