หากต้องการทราบตำแหน่งในเบื้องหลังอย่างรวดเร็ว เราต้องดำเนินการหลายขั้นตอน
รับการอนุญาตจากผู้ใช้ในไฟล์ info.plist ของคุณให้เพิ่ม Privacy- Location always และ
เมื่อใช้งาน คำอธิบาย ความเป็นส่วนตัว – เมื่ออยู่ในคำอธิบายการใช้งานและเพิ่มคำอธิบายที่เกี่ยวข้อง
หลังจากนั้น คุณต้องนำเข้ากรอบงาน CoreLocation ซึ่งจะทำให้คุณใช้ไลบรารีและวิธีการที่เกี่ยวข้องกับตำแหน่งทั้งหมดได้ จากนั้นคุณต้องได้รับอนุญาตจากผู้ใช้เพื่อใช้ตำแหน่ง ในการนั้น เราจำเป็นต้องสร้าง CLLocationManager Object และขออนุญาต
var locationManager: CLLocationManager? override func viewDidLoad() { super.viewDidLoad() locationManager = CLLocationManager() locationManager?.delegate = self locationManager?.requestAlwaysAuthorization() }
ตอนนี้เมื่อคุณเรียกใช้แอปและหากต้องการตำแหน่งในโมดูลเฉพาะ แอปจะขออนุญาตจากผู้ใช้ หลังจากนั้น คุณสามารถเพิ่มรหัสต่อไปนี้เพื่อเริ่มตรวจสอบการเปลี่ยนแปลงตำแหน่ง อัปเดตตำแหน่ง ฯลฯ
locationManager.startUpdatingLocation() locationManager.startMonitoringSignificantLocationChanges() locationManager.allowsBackgroundLocationUpdates = true
เมื่อเสร็จแล้ว คุณสามารถใช้ didUpdateLocation Method ของ CLLocationManagerDelegate เพื่ออัปเดตตำแหน่งไปยังเซิร์ฟเวอร์ของคุณในเบื้องหลัง
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) { // Hit api to update location }
ตอนนี้เมื่อใดก็ตามที่มีการอัปเดตตำแหน่ง เมธอดของ CLLocationManagerDelegate นี้จะถูกเรียก และภายในนี้ เราสามารถเขียนโค้ดเพื่ออัปเดตตำแหน่งบนเซิร์ฟเวอร์ได้