Files
social-app/apps/ios/Runner/AppDelegate.swift
T
qzl 20b9e70e84 fix(apps): 修复通知点击不显示ReminderOverlay和日历编辑后不刷新问题
- AppDelegate: 只存储payload字段而非整个userInfo字典
- LocalNotificationService: 移除旧的取消/稍后提醒action按钮配置
- ReminderNotificationCallbacks: 添加onNotificationPayloadReceived静态回调
- IOSNotificationPayloadBridge: 添加setPendingPayload方法
- main.dart: 设置onNotificationPayloadReceived触发ReminderOverlay显示,添加WidgetsBindingObserver处理后台恢复
- CalendarEventDetailScreen: 编辑保存后正确传递刷新信号给日视图
2026-03-20 19:34:06 +08:00

34 lines
1.1 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 payloadString = userInfo["payload"] as? String {
UserDefaults.standard.set(payloadString, forKey: "pending_notification_payload")
}
completionHandler()
}
}