35 lines
1.2 KiB
Swift
35 lines
1.2 KiB
Swift
import Flutter
|
|
import flutter_local_notifications
|
|
import UIKit
|
|
import UserNotifications
|
|
|
|
@main
|
|
@objc class AppDelegate: FlutterAppDelegate {
|
|
override func application(
|
|
_ application: UIApplication,
|
|
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
|
|
) -> Bool {
|
|
FlutterLocalNotificationsPlugin.setPluginRegistrantCallback { registry in
|
|
GeneratedPluginRegistrant.register(with: registry)
|
|
}
|
|
GeneratedPluginRegistrant.register(with: self)
|
|
if #available(iOS 10.0, *) {
|
|
UNUserNotificationCenter.current().delegate = self
|
|
}
|
|
return super.application(application, didFinishLaunchingWithOptions: launchOptions)
|
|
}
|
|
|
|
override func userNotificationCenter(
|
|
_ center: UNUserNotificationCenter,
|
|
didReceive response: UNNotificationResponse,
|
|
withCompletionHandler completionHandler: @escaping () -> Void
|
|
) {
|
|
let userInfo = response.notification.request.content.userInfo
|
|
if let jsonData = try? JSONSerialization.data(withJSONObject: userInfo, options: []),
|
|
let jsonString = String(data: jsonData, encoding: .utf8) {
|
|
UserDefaults.standard.set(jsonString, forKey: "pending_notification_payload")
|
|
}
|
|
completionHandler()
|
|
}
|
|
}
|