Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> IOS

จะใช้ Swift เพื่อทำงานในพื้นหลังเพื่อระบุตำแหน่งปัจจุบันได้อย่างไร


หากต้องการทราบตำแหน่งในเบื้องหลังอย่างรวดเร็ว เราต้องดำเนินการหลายขั้นตอน

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