কম্পিউটার টিউটোরিয়াল

iOS-এ রানটাইমে লোকেশন পারমিশন রিকোয়েস্ট করা


লোকেশন পারমিশন রিকোয়েস্ট করার জন্য আমরা Apple-এর CLLocationManager ক্লাস ব্যবহার করব। এই ক্লাসের ইনস্ট্যানস ব্যবহার করে Core Location সার্ভিস কনফিগার, স্টার্ট এবং স্টপ করা যায়।

CLLocationManager ক্লাস সম্পর্কে আরো জানুন: https://developer.apple.com/documentation/corelocation/cllocationmanager

iOS অ্যাপ্লিকেশন দুটি লেভেলের লোকেশন অ্যাক্সেস সাপোর্ট করে।

  • অ্যাপ ব্যবহার করার সময় (While using the app) − অ্যাপ ফোরগ্রাউন্ডে থাকাকালীন ডিভাইসের লোকেশন অ্যাক্সেস করতে পারে। এটাকে "when-in-use authorization" বলা হয়।

  • সবসময় (Always) − অ্যাপ ফোরগ্রাউন্ডে বা ব্যাকগ্রাউন্ডে থাকা সত্ত্বেও লোকেশন অ্যাক্সেস করতে পারে।

এখানে আমরা when-in-use authorization ব্যবহার করব: শুধু অ্যাপ রান করাকালীন লোকেশন সার্ভিসের অনুমতি রিকোয়েস্ট করা।

https://developer.apple.com/documentation/corelocation/choosing_the_authorization_level_for_location_services/requesting_when-in-use_authorization

Step 1 − Xcode, Single View Application, নাম দিন LocationServices।

Step 2 − Main.storyboard খুলুন এবং একটি বাটন যোগ করুন, নাম দিন getLocation।

iOS-এ রানটাইমে লোকেশন পারমিশন রিকোয়েস্ট করা

Step 3 − ViewController.swift-এ বাটনের @IBAction যোগ করুন।

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

Step 4 − CoreLocation ইম্পোর্ট করুন লোকেশন ক্লাস ব্যবহার করতে। import CoreLocation

Step 5 − info.plist খুলুন (অ্যাপ রান করাকালীন লোকেশন আপডেটের পারমিশন ইনেবল করার জন্য একটি স্পেশাল কী প্রয়োজন)। Right-click → Add Row। নিচের মান দিন।

iOS-এ রানটাইমে লোকেশন পারমিশন রিকোয়েস্ট করা

Step 6 ViewController.swift-এ CLLocationManager অবজেক্ট তৈরি করুন।

let locationManager = CLLocationManager()

Step 7 − ViewController.swift-এ বাটন অ্যাকশনে নিচের কোড যোগ করুন।

@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 authorisation অ্যাপ ফোরগ্রাউন্ডে থাকাকালীন লোকেশন আপডেট পায়। লোকেশন সার্ভিসেস ডিজেবল থাকলে ইউজারকে "Location Services are disabled" মেসেজ সহ অ্যালার্ট দেখাবে।

অ্যাপ্লিকেশন রান করুন।

iOS-এ রানটাইমে লোকেশন পারমিশন রিকোয়েস্ট করা


  1. iOS 14-এ App Library ব্যবহার করার পদ্ধতি

  2. 如何伪造您的Android位置

  3. অ্যান্ড্রয়েড ডিভাইসে GPS লোকেশন সিমুলেট করার পদ্ধতি

  4. iOS 12-এ Messages-এ ফটো অ্যাক্সেস করুন: ধাপে ধাপে গাইড