import Foundation import UserNotifications // 控件 / 小组件在 App 外触发剪贴板操作时的成功 / 失败反馈(#6):弹一条本地通知。控件 / 小组件在独立扩展 // 进程运行、不开主 app,没有应用内横幅可用,故用本地通知作反馈。主 app 启动时已申请通知授权,扩展共享 // 同一授权;未授权则系统静默忽略(best-effort,不抛错)。 enum WidgetFeedback { static func post(_ body: String) async { guard !body.isEmpty else { return } let content = UNMutableNotificationContent() content.title = t("app.brand") content.body = body // trigger nil=立即送达。标识符随机,避免相邻多次反馈互相覆盖。 let req = UNNotificationRequest(identifier: UUID().uuidString, content: content, trigger: nil) try? await UNUserNotificationCenter.current().add(req) } }