หากต้องการทราบตำแหน่งในเบื้องหลังอย่างรวดเร็ว เราต้องดำเนินการหลายขั้นตอน
รับการอนุญาตจากผู้ใช้ในไฟล์ 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 นี้จะถูกเรียก และภายในนี้ เราสามารถเขียนโค้ดเพื่ออัปเดตตำแหน่งบนเซิร์ฟเวอร์ได้