From 25e4b0d22c6e63b1d0d6d66cb92786b8ac5c56e3 Mon Sep 17 00:00:00 2001 From: mulot Date: Fri, 23 Aug 2024 17:17:38 +0200 Subject: [PATCH] iOS and WatchOS add sound to alarms WatchOS add sound and haptic feedback when set a notif alarm --- WatchOS WatchKit Extension/BeatTimeApp.swift | 3 +++ iOS/BeatTimeiOSApp.swift | 2 -- iOS/LocalNotificationManager.swift | 5 ++++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/WatchOS WatchKit Extension/BeatTimeApp.swift b/WatchOS WatchKit Extension/BeatTimeApp.swift index 453fbc3..9326109 100644 --- a/WatchOS WatchKit Extension/BeatTimeApp.swift +++ b/WatchOS WatchKit Extension/BeatTimeApp.swift @@ -164,6 +164,7 @@ struct ConvertView: View { struct AlarmView: View { @State var selection: String = BeatTime.beats() + @State private var notifCount = 0 func setNotification(msg: String, date: Date) -> Void { if (date.timeIntervalSinceNow < 0) { @@ -200,7 +201,9 @@ struct AlarmView: View { } Button("Set notif ", action: { self.setNotification(msg: "@\(selection) .beats", date: BeatTime.date(beats: selection)) + notifCount += 1 }) + .sensoryFeedback(.success, trigger: notifCount) } } } diff --git a/iOS/BeatTimeiOSApp.swift b/iOS/BeatTimeiOSApp.swift index 8f29b92..2a1ac21 100644 --- a/iOS/BeatTimeiOSApp.swift +++ b/iOS/BeatTimeiOSApp.swift @@ -243,8 +243,6 @@ struct AlarmSetView: View { @State private var date = Date() @State private var beats: String = BeatTime.beats() @Query(sort: \Notification.date) private var notifications: [Notification] - //@State private var notifCount: Int = manager.notifications.count - //@Query private var notifications: [Notification] = manager.notifications @Environment(\.modelContext) private var context func setNotification(msg: String, date: Date) -> Void { diff --git a/iOS/LocalNotificationManager.swift b/iOS/LocalNotificationManager.swift index 971a025..559388f 100644 --- a/iOS/LocalNotificationManager.swift +++ b/iOS/LocalNotificationManager.swift @@ -30,7 +30,7 @@ class LocalNotificationManager { func requestPermission(notif: Notification) -> Void { UNUserNotificationCenter .current() - .requestAuthorization(options: [.alert, .badge, .alert]) { granted, error in + .requestAuthorization(options: [.alert, .badge, .sound]) { granted, error in if granted == true && error == nil { self.scheduleNotifications(notif: notif) // We have permission! @@ -55,6 +55,9 @@ class LocalNotificationManager { func scheduleNotifications(notif: Notification) -> Void { let content = UNMutableNotificationContent() content.title = notif.title + content.sound = UNNotificationSound.default + //content.badge = 1 + //UNUserNotificationCenter.current().setBadgeCount(1) let trigger = UNTimeIntervalNotificationTrigger(timeInterval: notif.timer, repeats: false) let request = UNNotificationRequest(identifier: notif.id, content: content, trigger: trigger)