#swiftui
#swiftui
Вопрос:
Как мне обработать этот метод в новом жизненном цикле приложения SwiftUI? Я смотрю на сцену, но в ней нет никакой информации о методах SceneDelegate
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { method in SwiftUI new App cycle.
Комментарии:
1. В жизненном цикле SwiftUI нет SceneDelegate. Зачем вам это нужно? Что вы хотите сделать?
2. Для удаленного уведомления. Я передаю удаленное уведомление в этом методе, когда приложение не запущено и запускается из уведомления.
Ответ №1:
Вы можете получать уведомления, когда устройство получает определенное уведомление, используя .onReceive
модификатор. в вашем случае вы можете использовать .onReceive
подобное поверх одного из ваших представлений, чтобы получать уведомления о подключениях к сцене:
.onReceive(NotificationCenter.default.publisher(for: UIScene.willConnectNotification)) { notification in
}
Ответ №2:
Вы можете получать уведомления через userNotificationCenter
, даже если приложение не запущено и запускается из уведомления.
func userNotificationCenter(_ center: UNUserNotificationCenter,
didReceive response: UNNotificationResponse,
withCompletionHandler completionHandler: @escaping () -> Void) {
print("open notification")
let userInfo = response.notification.request.content.userInfo
print(userInfo)
completionHandler()
}