watchOS Standalone App Notification Settings Not Appearing

I'm having an issue on my standalone watchOS app where the settings to adjust notifications does not appear anywhere on the iPhone or the Watch. I have successfully requested notifications access from the user and have successfully displayed a local notification to them. However, if the user ever decides to revoke my notification access (or if they deny originally and want to change), the settings pane for notifications does not appear anywhere.

I've looked in the following places:

  • On the watch in Settings > Notifications, however it looks like you can no longer edit per app notification settings directly on the watch (none of the installed apps on my watch appear in here). The only options are settings like "tap to show full notification" and "announce notifications" which affect all notifications (Why not? Especially for apps that don't have a iPhone companion app?).
  • On the iPhone in the Watch app (the app you set up your watch in), in Watch > Notification. My app does not appear anywhere in there.
  • On the iPhone in the iPhone Settings app, in Settings > Notifications. My app does not appear anywhere in there.
  • On the iPhone in the iPhone Settings app, in Settings > Apps. My app does not appear anywhere in there

I've tried:

  • Adding capabilities in Signing & Capabilities for Push Notification, Time-Sensitive Notifications and Communication Notifications
  • Building the app for release instead of debug

My app also requires location access and has successfully appeared in the settings pane directly on the watch in Settings > Privacy & Security > Location Services, however notification settings do not appear anywhere.

I have created a stripped down test app to try and that also does not work. This test code successfully asks the user for permission and (from a button in ContentView), successfully schedules a notification and displays it to the user when they're not in the app. Here's the code for my NotificationManager:

import UserNotifications

class NotificationManager: NSObject, ObservableObject, UNUserNotificationCenterDelegate {
    
    static let shared = NotificationManager()
    
    @Published var hasAuthorisation = false
    
    private override init() {
        super.init()
        UNUserNotificationCenter.current().delegate = self
        requestAuthorisation()
    }
    
    func requestAuthorisation() {
        UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .sound]) { authorised, error in
            DispatchQueue.main.async {
                if let error = error {
                    print("Error requesting notifications: \(error.localizedDescription)")
                }
                self.hasAuthorisation = authorised
            }
        }
    }
    
    func scheduleNotification(title: String, body: String, timeInterval: TimeInterval) {
        let content = UNMutableNotificationContent()
        content.title = title
        content.body = body
        content.sound = .default
        
        let trigger = UNTimeIntervalNotificationTrigger(timeInterval: timeInterval, repeats: false)
        let request = UNNotificationRequest(identifier: UUID().uuidString, content: content, trigger: trigger)
        
        UNUserNotificationCenter.current().add(request) { error in
            if let error = error {
                print("Error scheduling notification: \(error.localizedDescription)")
            } else {
                print("Notification scheduled successfully.")
            }
        }
    }
}

This issue has persisted across two iPhones (recently upgraded) and the watch was wiped when connecting to the new iPhone.

Am I missing some code? Am I missing some flag I need to set in my project somewhere? Please can someone with an Apple Watch try this code in a standalone watchOS app and see if the notifications pane appears anywhere for them? I've contacted Apple DTS, but they're taking a while to respond.

watchOS Standalone App Notification Settings Not Appearing
 
 
Q