系统:在我的应用程序中,我使用地理围栏(监控区域)。每当用户进入或离开受监控的区域或区域时,如果应用程序处于后台甚至终止状态,应用程序都会显示本地通知。这工作得很好。该应用程序能够显示本地通知。
现在我还需要通过 HTTP POST 调用向应用程序的后端服务器提交此信息(如果用户在监控区域内或之外)。
问题:应用程序在 LocationManager 的委托方法中调用 API,但有时有效,有时无效。如果应用程序不处于前台状态,代码执行似乎会随机停止。
代码示例
// MARK: - Location Manager Delegate
func locationManager(_ manager: CLLocationManager, didEnterRegion region: CLRegion) {
if region is CLCircularRegion {
showLocalNotification(forRegion: region)// Works
updateUserEntryAPICall(region: region) // Sometimes works
}
}
func locationManager(_ manager: CLLocationManager, didExitRegion region: CLRegion) {
if region is CLCircularRegion {
showLocalNotification(forRegion: region) // Works
updateUserExitAPICall(region: region) // sometime works
}
}
我没有在 iOS 中打开后台模式功能。尽管如此,该应用程序仍然能够显示本地通知。我需要打开它才能进行网络通话吗?
请帮忙。