#if os(macOS) import AppKit import UserNotifications // 窗口非前台时的原生系统通知(收到消息 / 文件)。对齐桌面 app.ShowNotification:前台事件由应用内 // NoticeOverlay / 未读红点负责,仅当 app 非活跃(NSApp.isActive == false)才发系统通知,避免与应用内 // 提示重复。通知授权已由引擎启动时的 PushRegistry.requestAuthorizationAndRegister 一并请求。 enum MacNotifier { // 仅在 app 非活跃时发。title/body 由调用点给出(已是用户可读文本)。 static func notifyIfInactive(title: String, body: String) { guard !NSApp.isActive else { return } let content = UNMutableNotificationContent() content.title = title content.body = body content.sound = .default let req = UNNotificationRequest(identifier: UUID().uuidString, content: content, trigger: nil) UNUserNotificationCenter.current().add(req) } } #endif