问题描述
我正在尝试使用 didEnterRegion 来安排通知,并使用 didExitRegion 根据存储在 CoreData 文件中的数据取消通知。它似乎无法访问 CoreData。我想根据人员位置安排通知。
我该如何解决这个问题?
func locationManager(_ manager: CLLocationManager,didEnterRegion region: CLRegion) {
let ident = region.identifier
scheduleLocationNotification(ident: ident)
}
func scheduleLocationNotification(ident: String) {
let count = reminderArray.count
print("Started Scheduled Geo")
for i in 0...count {
let reminder = reminderArray?[i]
let id = reminder?.identity
let date = reminderArray?[i].time ?? Date()
var time: String = ""
let formatter = DateFormatter()
formatter.timeStyle = .short
formatter.dateStyle = .none
if reminderArray?[i].time != nil {
time = formatter.string(from: date)
}
if reminder?.active == true {
if id == ident {
scheduler.weekDaySchedule(time: time)
print("GeoScheduled Notifications")
}
}
}
}
func locationManager(_ manager: CLLocationManager,didExitRegion region: CLRegion) {
let ident = region.identifier
cancelLocationNotification(ident: ident)
}
func cancelLocationNotification(ident: String) {
let count = reminderArray.count
print("Started Cancel Geo")
for i in 0...count {
let reminder = reminderArray?[i]
let id = reminder?.identity
if reminder?.active == true {
if id == ident {
for i in 1...7 {
scheduler.cancelNotifications(identity: id! + String(i))
print("GeoCanceled Notifications")
}
}
}
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)