Я пытаюсь получить некоторые времена прибытия для автобусов, когда пользователь подходит к остановке, я проверил, чтобы обеспечить правильное выполнение регистров, отправив базовое локальное уведомление, и я также проверил мой веб-сервис, чтобы убедиться, что он работает правильно.Локальные уведомления, основанные на динамическом местоположении Swift iOS
Однако мне сложно получить информацию, а затем отправить уведомление.
Вот мой код:
var bgTask: UIBackgroundTaskIdentifier = UIBackgroundTaskIdentifier()
bgTask = UIApplication.shared().beginBackgroundTask {
self.webService?.getStopEstimates(routeStopIds: stopRouteIdSet, routeNameDict: routeNameDict, completion: { (result) in
if result == "error" {
return
}
let notification = UILocalNotification()
notification.fireDate = Date(timeIntervalSinceNow: 1)
notification.alertTitle = region.identifier + " Stop Details"
notification.alertBody = result
notification.soundName = UILocalNotificationDefaultSoundName
UIApplication.shared().scheduleLocalNotification(notification)
})
UIApplication.shared().endBackgroundTask(bgTask)
}
Любой один, почему это не может быть отправка? Я включил службы фоновой выборки и определения местоположения. Это находится внутри didEnterRegion
Учитывая, что вы Используя Swift 3, вы знаете, что существует новая структура UserNotifications. – tktsubota
Может быть, вы забыли зарегистрироваться для уведомления в приложении фонда (_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?). Регистрационный код: let notificationSettings = UIUserNotificationSettings (типы: .alert, categories: nil) application.registerUserNotificationSettings (notificationSettings) – Ramis
Как вы тестируете? В Xcode? Добавьте несколько журналов, чтобы проверить, был ли отправлен/получен запрос. Любые ошибки? – Wain