WatchOS local notifications delayed

I'm scheduling local notifications on my WatchOS app, but they are always alerting exactly 13 seconds later than scheduled. I have read other users having the exact same issue but there is no solution anywhere. I'm not sure how one is supposed to write any sort of timer app when they are always coming in delayed. Any idea why this occurs and how to resolve it? For now I am subtracting 13 seconds from the end time, but that's not really a solution I'm happy with. Thanks

Answered by Engineer in 807953022

First, to explain what is happening here: watchOS and iOS try to coordinate between phone and watch notifications.

The concept here is that if there is a main app and a companion app, they could both be sending a notification, then the notification would alert on both, which is a deviation from how notification mirroring is handled if there is an iOS app but no watch app.

The watch waits for the iOS notification to fire so they can determine if this is the same notification that needs to be deduped, displayed on one device but not the other, or separate notifications to be displayed both.

If there is no notification on the phone, the watch will timeout after 13 seconds and alert anyway.

If you have an iOS companion app, the best solution to this is to send the same notification on both devices simultaneously, and ensuring the UNNotificationRequest.identifier matches on both notifications. This will let the systems determine how to handle the notification correctly and quickly, and the notification will alert right away.

If you need to coordinate between the watchOS and iOS apps you can use the Watch Connectivity API.

Otherwise, currently this is how the system works, but we do welcome your feedback and enhancement requests about this via https://feedbackassistant.apple.com

To file an enhancement request, use Feedback Assistant. In the “What type of issue are you reporting?” popup, choose Suggestion.


Argun Tekant /  DTS Engineer / Core Technologies

Accepted Answer

First, to explain what is happening here: watchOS and iOS try to coordinate between phone and watch notifications.

The concept here is that if there is a main app and a companion app, they could both be sending a notification, then the notification would alert on both, which is a deviation from how notification mirroring is handled if there is an iOS app but no watch app.

The watch waits for the iOS notification to fire so they can determine if this is the same notification that needs to be deduped, displayed on one device but not the other, or separate notifications to be displayed both.

If there is no notification on the phone, the watch will timeout after 13 seconds and alert anyway.

If you have an iOS companion app, the best solution to this is to send the same notification on both devices simultaneously, and ensuring the UNNotificationRequest.identifier matches on both notifications. This will let the systems determine how to handle the notification correctly and quickly, and the notification will alert right away.

If you need to coordinate between the watchOS and iOS apps you can use the Watch Connectivity API.

Otherwise, currently this is how the system works, but we do welcome your feedback and enhancement requests about this via https://feedbackassistant.apple.com

To file an enhancement request, use Feedback Assistant. In the “What type of issue are you reporting?” popup, choose Suggestion.


Argun Tekant /  DTS Engineer / Core Technologies

@coderkid do you have Apple Intelligence enabled on your phone?

Others & myself have been experiencing issues that Apple Intelligence is slowing down the whole system (we saw 10 seconds and higher delays) on iOS 18.1.

I would recommend trying to turn off Apple Intelligence and see if it still reproduces.

Also, definitely file a radar!

I hope this gets fixed before iOS 18.1 gets released, otherwise we would have to recommend our users to turn Apple Intelligence off until Apple fixes the performance issues.

More info here: https://forums.developer.apple.com/forums/thread/764848

WatchOS local notifications delayed
 
 
Q