Post

Replies

Boosts

Views

Activity

Reply to Alarmkit
func createFixAlarm(_ ck: CKRecord, _ cdate: Date, _ block: ((Bool, String?)->Void)? = nil) async { if cdate <= Date() { JCTips.showTip("闹钟时间不可小于当前时间!") block?(false, nil) return } let keynoteDateComponents = DateComponents( calendar: .current, year: cdate.year, month: cdate.month, day: cdate.day, hour: cdate.getOnComponent(.hour), minute: cdate.getOnComponent(.minute)) let date = Calendar.current.date(from: keynoteDateComponents)! typealias AlarmConfiguration = AlarmManager.AlarmConfiguration let stopButton = AlarmButton( text: "我知道了", textColor: .white, systemImageName: "stop.circle") let alertPresentation = AlarmPresentation.Alert( title: LocalizedStringResource(stringLiteral: ck[RecordData.title.rawValue] as? String ?? "快开始了!"), stopButton: stopButton, ) let attributes = AlarmAttributes<JCMeta>( presentation: AlarmPresentation( alert: alertPresentation), metadata: JCMeta(), tintColor: Color.accent) let su = ck[RecordData.sound.rawValue] as? String let alarmConfiguration = AlarmConfiguration( schedule:.fixed(date), attributes: attributes,stopIntent: StopAlarmIntent(), sound: su == nil ? .default : .named(su!) ) let id = UUID() do { let alarm = try await AlarmManager.shared.schedule(id: id, configuration: alarmConfiguration) }catch { } }
Sep ’25