我已使用以下代码订阅了基于位置的提醒:
let center = CLLocationCoordinate2D(latitude: tapp.location.latitude, longitude: tapp.location.longitude)
let region = CLCircularRegion(center: center, radius: CLLocationDistance(tapp.reminder), identifier: tapp.name)
locationManager.distanceFilter = 100
locationManager.startMonitoring(for: region)
region.notifyOnEntry = true
region.notifyOnExit = false
let trigger = UNLocationNotificationTrigger(region: region, repeats: false)
let request = UNNotificationRequest(identifier: "\(tapp.location.latitude)|\(tapp.location.longitude)", content: content, trigger: trigger)
UNUserNotificationCenter.current().add(request, withCompletionHandler: nil)
当我在iOS模拟器中进入某个区域时,该代码可以提醒我,但是当我将应用程序加载到物理设备上并进入该区域时,它永远不会通知我。
我记得读过一些有关低功率模式的信息,这些信息会影响您是否可以订阅基于位置的通知,还有其他类似的事情会阻止应用程序接收后台更新吗? 另外,我的代码正确吗?