Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> iOS

iOS पर रनटाइम पर लोकेशन परमिशन कैसे रिक्वेस्ट करें


लोकेशन परमिशन रिक्वेस्ट करने के लिए हम 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" रखें।

iOS पर रनटाइम पर लोकेशन परमिशन कैसे रिक्वेस्ट करें

चरण 3: बटन का IBAction जोड़ें

@IBAction func btnGetLocation(_ sender: Any) { }

चरण 4: CoreLocation इम्पोर्ट करें

import CoreLocation

चरण 5: Info.plist में परमिशन कीज़ जोड़ें

अपनी info.plist खोलें (ऐप चलने पर लोकेशन अपडेट्स के लिए परमिशन इनेबल करने के लिए एक स्पेशल की जरूरी है)। राइट-क्लिक करें और Add Row चुनें। निम्न मान दर्ज करें।

iOS पर रनटाइम पर लोकेशन परमिशन कैसे रिक्वेस्ट करें

चरण 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" मैसेज के साथ अलर्ट दिखाया जाएगा।

एप्लिकेशन चलाएं

iOS पर रनटाइम पर लोकेशन परमिशन कैसे रिक्वेस्ट करें

  1. अपने एंड्रॉइड की लोकेशन कैसे फेक करें अपने एंड्रॉइड की लोकेशन कैसे फेक करें

    एंड्रॉइड डेवलपर्स जिनके ऐप्स में कुछ स्थान-आधारित कार्यक्षमता है, उन्हें यह सुनिश्चित करने के लिए अपने फोन के स्थान को फेक या स्पूफ करने की आवश्यकता हो सकती है कि उनकी सुविधाएं जिस तरह से काम करनी चाहिए उस तरह काम करें। गैर-डेवलपर भी इस फ़ंक्शन को उतनी ही आसानी से एक्सेस कर सकते हैं (एंड्रॉइड पर, व

  1. एंड्रॉइड डिवाइस पर GPS लोकेशन सिम्युलेट कैसे करें एंड्रॉइड डिवाइस पर GPS लोकेशन सिम्युलेट कैसे करें

    सभी एंड्रॉइड डिवाइस GPS सपोर्ट के साथ आते हैं, और यही गूगल मैप्स, उबर, फेसबुक, जोमैटो आदि जैसे ऐप्स को आपकी लोकेशन ट्रैक करने की अनुमति देता है। GPS ट्रैकिंग बहुत महत्वपूर्ण है क्योंकि यह आपको आपकी लोकेशन के लिए प्रासंगिक जानकारी प्राप्त करने की अनुमति देता है जैसे मौसम, स्थानीय समाचार, ट्रैफिक स्थि

  1. iOS 12 पर Messages में फोटो एक्सेस करना: चरण-दर-चरण गाइड iOS 12 पर Messages में फोटो एक्सेस करना: चरण-दर-चरण गाइड

    आप iOS 3 लॉन्च होने के बाद से Apple डिवाइस पर Messages के माध्यम से वीडियो और फोटो भेज सकते हैं। ऐसा करने के लिए आपको बस कैमरा आइकन पर टैप करना होगा और उन फोटो या वीडियो को चुनना होगा जिन्हें आप भेजना चाहते हैं। iOS 12 के साथ, चीजें बदल गई हैं। हालांकि, इसका मतलब यह नहीं है कि यह पूरी तरह से अक्षम ह