Невозможно показать уведомление, когда приложение становится активным. ⇐ IOS
-
Гость
Невозможно показать уведомление, когда приложение становится активным.
Мне нужно показывать локальное уведомление всякий раз, когда приложение становится активным. Проблема в том, что когда я планирую уведомление изнутри ScenePhase, оно активно, оно не запланировано и ничего не отображается, но я могу успешно запланировать его изнутри onAppear(). Мой код:
struct ContentView: Просмотр { @EnvironmentObject var NotificationManager: NotificationManager @Environment(\.scenePhase) частная переменная ScenePhase var body: some View { SomeView() .onAppear() { // отсюда уведомление запланировано и отправлено правильно // РасписаниеУведомление() } .onChange(of: ScenePhase) { newScenePhase в if newScenePhase == .active { // Приложение становится активным // отсюда уведомление не запланировано и никогда не отправляется расписаниеУведомление() } } } функция ScheduleNotification() { NotificationManager.sendNotification (id: «BackgroundTask», title: «Фоновая задача», body: «Запланировано успешно», soundName: «Объявить», timeInterval: 1) } } Итак, почему уведомление не запланировано, когда я вызываю его из активной сцены.
Мне нужно показывать локальное уведомление всякий раз, когда приложение становится активным. Проблема в том, что когда я планирую уведомление изнутри ScenePhase, оно активно, оно не запланировано и ничего не отображается, но я могу успешно запланировать его изнутри onAppear(). Мой код:
struct ContentView: Просмотр { @EnvironmentObject var NotificationManager: NotificationManager @Environment(\.scenePhase) частная переменная ScenePhase var body: some View { SomeView() .onAppear() { // отсюда уведомление запланировано и отправлено правильно // РасписаниеУведомление() } .onChange(of: ScenePhase) { newScenePhase в if newScenePhase == .active { // Приложение становится активным // отсюда уведомление не запланировано и никогда не отправляется расписаниеУведомление() } } } функция ScheduleNotification() { NotificationManager.sendNotification (id: «BackgroundTask», title: «Фоновая задача», body: «Запланировано успешно», soundName: «Объявить», timeInterval: 1) } } Итак, почему уведомление не запланировано, когда я вызываю его из активной сцены.
Мобильная версия