Notifications

RSS for tag

Learn about the technical aspects of notification delivery on device, including notification types, priorities, and notification center management.

Notifications Documentation

Posts under Notifications subtopic

Post

Replies

Boosts

Views

Activity

Silent Push background launch rejected with "pushDisallowed" and "AMNP" on TestFlight build
Hello, I am implementing background processing using Silent Push Notifications in an iOS application. The app needs to receive requests from a server and execute processing in the background. For this purpose, I am using Silent Push Notifications to wake up the application. However, the application is not being launched as expected when running the TestFlight version. I would appreciate any guidance regarding this behavior. Environment Xcode 26.3 iOS 18.6 TestFlight distribution Push Notifications capability enabled Background Modes enabled Remote notifications enabled APNs Authentication Key (.p8) APNs Production environment Background Previously, the application periodically connected to a server in the background and sent location information when requested by the server. Since that background processing no longer behaves as expected, I started implementing an alternative approach using Silent Push Notifications. When running the application directly from Xcode in Debug mode, Silent Push works correctly and the app is launched in the background. However, when using the TestFlight build on the same device, the behavior differs and the app is not launched in the background. Observed Behavior The APNs request appears to be successful: APNs response status is HTTP 200 Using the device token obtained from the TestFlight build Alert Push notifications are received successfully application:didReceiveRemoteNotification:fetchCompletionHandler: is called when the app is in the foreground The same method is not called when the app is in the background Silent Push payload: { "aps": { "content-available": 1 } } HTTP/2 headers: apns-push-type: background apns-priority: 5 Verified Items Production device token is being used APNs topic matches the application's bundle identifier Alert Push notifications work correctly Background App Refresh is enabled on the device The application has not been force-quit completionHandler is always called after processing completes Console Logs The following logs appear when the push is sent: Submitted: com.apple.pushLaunch.jp.co.comp.MyApp.ext.mdm Application Policy response: {100, 0.00, [{[pushDisallowed]: Required:0.00, Observed:1.00},]} Decision: AMNP I also see: Insufficient history window for deviceActivityLikelihood stream deviceActivityLikelihood returned a nil timeline Questions Under what conditions are pushDisallowed and Decision: AMNP generated? What factors can cause iOS to reject a background launch triggered by a Silent Push Notification? Since Alert Push notifications are received successfully, is it reasonable to conclude that APNs configuration, topic configuration, and device token usage are correct? Are there any specific settings, entitlements, or implementation details that should be reviewed to resolve the pushDisallowed condition? The behavior differs between the Debug build launched from Xcode and the TestFlight build running on the same device. Are there any restrictions, policies, or differences applied to TestFlight builds that could explain this behavior? If the observed behavior is expected by design, what would Apple recommend as the appropriate architecture or API for server-triggered background processing in this scenario? Thank you for your time and assistance.
2
0
99
1d
Is V2 → V1 rollback via Modify App API fully supported in production?
We’re planning a migration from App Store Server Notifications V1 to V2 and are reviewing our rollback strategy before enabling V2 in production. While researching, we found TN3180: TN3180: Reverting to App Store Server Notifications V1 | Apple Developer Documentation The technote appears to describe reverting App Store Server Notifications from V2 back to V1 using the Modify an App endpoint. Before proceeding, we’d like to clarify a few points: Is V2 → V1 rollback via the Modify App endpoint fully supported for production applications? If an application is reverted from V2 back to V1, can it later be migrated back to V2 again? During a rollback, should developers expect any overlap period where both V1 and V2 notifications may be delivered due to retries or notifications already in flight? Our goal is to understand whether the V2 → V1 capability should be treated as a fully supported operational rollback mechanism or as an emergency recovery path intended only for exceptional situations. Thank you for any clarification.
0
0
98
1w
Documentation on APNS Live Activity Broadcast API throttle limit
Hi Team We are building a live activity feature for our app. While using the APNS broadcast API (https://api.push.apple.com:443/4/broadcasts/apps/), we are getting throttled. The updates are infrequent (sport games) and yet we are facing this issue. Our understanding was that the throughput is quite high but there is no documentation on the actual limitations. Furthermore, all of our updates are using a priority of 5. We have currently configured retry with exponential backoff and jitter but we would like to understand the APNS throttle limit for live activity broadcast. Is the limit per channel id or at API level? What is the hard limit for the API request per seconds? Can we request increase to the API rate limit?
12
0
360
1w
Future roadmap for APNs token authentication: Granular app-scoped keys and ephemeral tokens?
"The introduction of team-scoped keys is a fantastic step forward for tightening security and isolating responsibilities within larger development organizations. However, as infrastructure moves closer to Zero Trust architectures, managing these keys across decentralized microservices or CI/CD pipelines still presents challenges. I have two questions regarding the long-term roadmap for APNs authentication: 1 App-Level Scoping: Are there plans to allow authentication keys to be scoped down to specific App IDs (Bundle IDs) rather than the entire team? Currently, a compromised team-scoped key could still potentially impact other apps within the same developer account. 2 Short-lived / Ephemeral Tokens: Is Apple considering support for short-lived, dynamically generated authentication tokens (similar to AWS IAM roles or OAuth 2.0 client credentials with expiration) to eliminate the need for storing long-lived ⁠.p8⁠ master keys on third-party backend servers? Understanding the direction of APNs security would greatly help us architect our next-generation notification backend."
1
0
160
2w
Recommendation for leveling up notification game
Years ago a notification evangelist had recommended supporting NotificationContentExtension and NotificationServiceExtension. Fast forward to notification AI summaries, live activities, and lock screen widgets, iPhone mirroring, and all the others I'm missing, are there any other features developers should be utilizing when building out a notification strategy? Conversely, are there things to look out for if we DON'T adopt something as a negative? For context, the notifications might be general all audience, as well as, direct to user with custom content.
2
0
182
2w
Updating Notifications
When updating Notifications, is it best practice to delete and reset all of them, or just delete and reset the Notifications that need to change? We have data coming from multiple sources, and as a result, we are often updating the notifications. This can be several times in under 10 seconds.
2
0
192
2w
Recommended approach for persistent emergency alarms on iOS
We have an emergency alert app that can trigger alarms in the event of a potential accident. We currently use Critical Alerts, which works well when the app is suspended or running in the background. A key requirement is that the alarm continues playing until the user explicitly acknowledges or dismisses it, as nearby people may need to notice the alarm and assist. Today, we’re achieving this by scheduling multiple Critical Alert notifications with the maximum sound duration (30 seconds) to create a longer continuous alarm. While this mostly works, it feels like a workaround and isn’t fully reliable. Is there a recommended way to implement a persistent emergency alarm experience on iOS? Would AlarmKit be an appropriate solution for this use case, or is it intended only for user-scheduled alarms and timers? Are there any other APIs or patterns you would recommend?
1
0
217
2w
AlarmKit — disabling haptics when alarm fires?
Hi, Quick question on AlarmKit (iOS 26): is there any way to disable the vibration/haptics that play alongside the alarm sound? I'm building a gentle wake-up alarm and I'd like sound-only behavior. From what I can see, AlertConfiguration.AlertSound only lets me customize the audio (.default or .named(_:)). There doesn't seem to be a haptic-related property on AlertConfiguration or anywhere else in the alarm configuration chain. Is this a current limitation, or am I missing something? If it's a limitation, I'll file a Feedback Assistant request and post the FB number here. Thanks!
3
0
286
2w
AlarmKit dense fan-out scheduling: alarms intermittently fire late or not at all on locked iOS 26.x device
Hi all, I'm building an iOS alarm app on AlarmKit (iOS 26+) and running into reliability issues I can't find documented anywhere. Hoping someone here has insight. What we're doing We schedule a "fan-out" pattern, a single user-set alarm becomes a sequence of AlarmKit alarms firing at regular intervals over ~50 minutes. The density is needed because we require repeated wake-up alerts the user can't easily ignore until they complete an explicit dismissal action. A single AlarmKit alarm that auto-mutes after Apple's default duration doesn't solve the heavy-sleeper case. We've seen other iOS alarm apps use a similar approach reliably on iOS 26+, so the pattern seems achievable. We're clearly missing something about AlarmKit's behavior under dense scheduling. The issue AlarmKit alarms intermittently fail to enter .alerting at their scheduled times when the device is locked. Lateness varies from ~20 seconds up to 4+ minutes. The bug is intermittent ie. no deterministic reproducer. When the lateness is short (~15-22s), the next alarm in the sequence often fires only a few seconds later, suggesting the first two get bunched rather than firing independently. When the lateness is long (minutes), our AlarmManager.shared.alarmUpdates subscriber observes zero .alerting transitions during the gap, then receives a flurry of events when the device wakes. Verified via on-thread Swift logging, not a bridge or JS-suspension issue. Our setup AlarmManager.AlarmConfiguration with .fixed(date) schedule, AlarmAttributes + stop button, StopAlarmIntent, custom .named(...) sound No alerting duration specified (we don't believe one is exposed) NSAlarmKitUsageDescription set; AlarmKit authorized Registered WidgetExtension for the auto Live Activity No Critical Alerts entitlement (docs suggest AlarmKit doesn't need it) Questions Is there a documented or undocumented density limit for AlarmKit alarms scheduled in close succession? What is iOS's behavior when multiple AlarmKit alarms are simultaneously in .alerting state? Coalesce? Queue? Drop? Is there a supported way for the app to control per-alarm alerting duration before iOS auto-mutes? For locked-overnight scenarios, are there documented power-management or dasd interactions that defer AlarmKit fires? Does declaring UIBackgroundModes fetch/processing affect this? Any insight or a point in the right direction would be super appreciated!
2
0
312
2w
Push Notification Icon Not Updated on Some Devices After App Icon Change
Hi, We recently updated our app icon, but the push notification icon has not been updated on some devices. It still shows the old icon on: • iPhone 16 Pro — iOS 26 • iPhone 14 — iOS 26 • iPad Pro 11” (M4) — iOS 18.6.2 • iPhone 16 Plus — iOS 18.5 After restarting these devices, the push notification icon is refreshed and displays the new version correctly. Could you advise how we can ensure the push notification icon updates properly on all affected devices without requiring users to restart? Thank you.
3
2
674
2w
Can APNs wake a sleeping Mac for a third-party app?
I'm building a macOS app and trying to confirm whether there's a way for me to remotely wake a Mac so my app can do a small amount of work (using APNs silent notifications or any other technique). Here's what I want to happen: User runs my app on their Mac User puts the Mac to sleep (Apple menu > Sleep) 30 minutes later, my server sends a push notification (content-available: 1, apns-push-type: background, apns-priority: 5) via APNs to the Mac Note: Power Nap and Wake for Network Access are enabled The Mac dark-wakes, delivers the notification to my app via application(_:didReceiveRemoteNotification:), my app gets ~30 seconds to open a WebSocket, do some work, and return Mac goes back to sleep So far, I've been able to send silent push notifications to a sleeping Mac, but my app only gets to take action on them after the Mac has been awoken manually. I've tried both silent pushes (content-available: 1, priority 5) and alert pushes (priority 10) with the same result. After trying every option I can find, I don't believe notifications can wake a sleeping Mac and allow my third-party app to process data, but I really want to be wrong. Can anyone confirm whether or not this is possible?
3
0
267
2w
NSE Filtering Entitlement — No Response After 4+ Weeks (Request ID: 7NPNCB7Q9P)
NSE Filtering Entitlement — No Response After 4+ Weeks (Request ID: 7NPNCB7Q9P) We submitted a request for the Notification Service Extension Filtering Entitlement (com.apple.developer.usernotifications.filtering) over two weeks ago and have received no response. App: NoLink Bundle ID: io.nolink.ios NSE Bundle ID: io.nolink.ios.nse Team ID: V2E3A94DC9 Request ID: 7NPNCB7Q9P Support Case ID: 102886799629 NoLink is an end-to-end encrypted messaging app built on the Matrix protocol with voice and video calling. All push notifications arrive encrypted — the NSE decrypts them to determine if the event is a message or an incoming call. Without this entitlement, incoming VoIP calls cannot ring properly. Users receive a silent text notification instead of the native CallKit incoming call screen. The duplicate APNS notification for call events cannot be suppressed. Element X iOS (io.element.elementx) has been granted this exact entitlement for the identical use case — same Matrix protocol, same Matrix Rust SDK, same NSE architecture. NoLink is built on the same codebase. We also opened Support Case 102886799629 but received only a generic response directing us to the Developer Forums. Could someone from the Entitlements team please review our request? We are happy to provide any additional technical details or a demo. Thank you.
1
0
260
2w
APNs token auth suddenly returns InvalidProviderToken for active team-scoped APNs key
I’m trying to diagnose an APNs provider authentication issue that began after APNs had previously been working. Summary: My iOS app can register for remote notifications and successfully sends its device token to my server. The app has the Push Notifications capability enabled in Xcode, the Bundle ID has Push Notifications enabled in Certificates, Identifiers & Profiles, and the APNs key is active in the Apple Developer portal. However, every server-side APNs send attempt now fails with: HTTP 403 {"reason":"InvalidProviderToken"} This happens against both sandbox and production APNs endpoints. App / account details: Bundle ID / apns-topic: app.terrasignal Team ID: 837F2XGDX Current APNs Key ID: HNW7XPK2H3 APNs key type: Apple Push Notifications service (APNs) Key configuration: Team scoped, Sandbox & Production Xcode signing team: David Buck / Team ID 837F2XGDX Push Notifications capability is enabled in Xcode Device token environment tested: sandbox Server clock verified against Apple/date header and matches UTC What works: iOS app launches successfully Push permission is granted Device token is generated Device registers with my server successfully Server stores the token as sandbox for bundle app.terrasignal What fails: Server-to-APNs provider authentication Direct HTTP/2 APNs request fails before notification delivery Failure reason is always InvalidProviderToken I tested three separate APNs keys: 34T746MWFV T9N75GU2AV HNW7XPK2H3 Each key was downloaded from the Developer portal, uploaded to the server, verified as a valid .p8 private key, and used with its matching Key ID. All produce the same InvalidProviderToken result. I also bypassed my APNs library and tested direct HTTP/2 + JOSE JWT signing. The direct APNs test also fails with the same response: HTTP status: 403 Response body: {"reason":"InvalidProviderToken"} Example direct APNs test details: Host: api.sandbox.push.apple.com Path: /3/device/ apns-topic: app.terrasignal apns-push-type: alert apns-priority: 10 JWT header: {"alg":"ES256","kid":"HNW7XPK2H3"} JWT payload includes iss: 837F2XGDX and current iat Key imports successfully with jose importPKCS8 JWT is generated successfully APNs rejects it with InvalidProviderToken I also tried production endpoint with the same result: Host: api.push.apple.com HTTP 403 {"reason":"InvalidProviderToken"} Things verified: System clock is correct Docker/server UTC time matches Apple Date header Bundle ID topic is app.terrasignal APNs key exists in the Apple Developer portal APNs service is enabled on the key Key is configured for Sandbox & Production Push Notifications capability is enabled for the app Xcode signing uses the same team The .p8 file is not empty or malformed The key imports successfully via jose/importPKCS8 The issue occurs before APNs evaluates the device token, because authentication fails first Question: What Apple-side account/key/app configuration state can cause multiple active APNs auth keys for the same team to return InvalidProviderToken, even when: the key is active, APNs is enabled, the Team ID matches, the Bundle ID topic matches, the server clock is correct, and a direct HTTP/2 APNs request with manually generated ES256 JWT also fails? Is there a way to force-refresh, repair, or re-sync APNs provider authentication for a Developer account / Bundle ID / APNs key?
7
1
539
3w
Silent Push background launch rejected with "pushDisallowed" and "AMNP" on TestFlight build
Hello, I am implementing background processing using Silent Push Notifications in an iOS application. The app needs to receive requests from a server and execute processing in the background. For this purpose, I am using Silent Push Notifications to wake up the application. However, the application is not being launched as expected when running the TestFlight version. I would appreciate any guidance regarding this behavior. Environment Xcode 26.3 iOS 18.6 TestFlight distribution Push Notifications capability enabled Background Modes enabled Remote notifications enabled APNs Authentication Key (.p8) APNs Production environment Background Previously, the application periodically connected to a server in the background and sent location information when requested by the server. Since that background processing no longer behaves as expected, I started implementing an alternative approach using Silent Push Notifications. When running the application directly from Xcode in Debug mode, Silent Push works correctly and the app is launched in the background. However, when using the TestFlight build on the same device, the behavior differs and the app is not launched in the background. Observed Behavior The APNs request appears to be successful: APNs response status is HTTP 200 Using the device token obtained from the TestFlight build Alert Push notifications are received successfully application:didReceiveRemoteNotification:fetchCompletionHandler: is called when the app is in the foreground The same method is not called when the app is in the background Silent Push payload: { "aps": { "content-available": 1 } } HTTP/2 headers: apns-push-type: background apns-priority: 5 Verified Items Production device token is being used APNs topic matches the application's bundle identifier Alert Push notifications work correctly Background App Refresh is enabled on the device The application has not been force-quit completionHandler is always called after processing completes Console Logs The following logs appear when the push is sent: Submitted: com.apple.pushLaunch.jp.co.comp.MyApp.ext.mdm Application Policy response: {100, 0.00, [{[pushDisallowed]: Required:0.00, Observed:1.00},]} Decision: AMNP I also see: Insufficient history window for deviceActivityLikelihood stream deviceActivityLikelihood returned a nil timeline Questions Under what conditions are pushDisallowed and Decision: AMNP generated? What factors can cause iOS to reject a background launch triggered by a Silent Push Notification? Since Alert Push notifications are received successfully, is it reasonable to conclude that APNs configuration, topic configuration, and device token usage are correct? Are there any specific settings, entitlements, or implementation details that should be reviewed to resolve the pushDisallowed condition? The behavior differs between the Debug build launched from Xcode and the TestFlight build running on the same device. Are there any restrictions, policies, or differences applied to TestFlight builds that could explain this behavior? If the observed behavior is expected by design, what would Apple recommend as the appropriate architecture or API for server-triggered background processing in this scenario? Thank you for your time and assistance.
Replies
2
Boosts
0
Views
99
Activity
1d
Messages permanently notification
iOS 27 I can not clear this 1 on my iPad Pro. even after the latest update it still shows 1 unread.
Replies
0
Boosts
0
Views
51
Activity
3d
Local notifications delayed by up to 5 seconds on iOS 27
When scheduling a local notification, it can be delayed by up to 5 seconds. On iOS 26, the notification appears instantly at the scheduled time. Feedback ID: FB23218437
Replies
2
Boosts
0
Views
136
Activity
3d
Is V2 → V1 rollback via Modify App API fully supported in production?
We’re planning a migration from App Store Server Notifications V1 to V2 and are reviewing our rollback strategy before enabling V2 in production. While researching, we found TN3180: TN3180: Reverting to App Store Server Notifications V1 | Apple Developer Documentation The technote appears to describe reverting App Store Server Notifications from V2 back to V1 using the Modify an App endpoint. Before proceeding, we’d like to clarify a few points: Is V2 → V1 rollback via the Modify App endpoint fully supported for production applications? If an application is reverted from V2 back to V1, can it later be migrated back to V2 again? During a rollback, should developers expect any overlap period where both V1 and V2 notifications may be delivered due to retries or notifications already in flight? Our goal is to understand whether the V2 → V1 capability should be treated as a fully supported operational rollback mechanism or as an emergency recovery path intended only for exceptional situations. Thank you for any clarification.
Replies
0
Boosts
0
Views
98
Activity
1w
Documentation on APNS Live Activity Broadcast API throttle limit
Hi Team We are building a live activity feature for our app. While using the APNS broadcast API (https://api.push.apple.com:443/4/broadcasts/apps/), we are getting throttled. The updates are infrequent (sport games) and yet we are facing this issue. Our understanding was that the throughput is quite high but there is no documentation on the actual limitations. Furthermore, all of our updates are using a priority of 5. We have currently configured retry with exponential backoff and jitter but we would like to understand the APNS throttle limit for live activity broadcast. Is the limit per channel id or at API level? What is the hard limit for the API request per seconds? Can we request increase to the API rate limit?
Replies
12
Boosts
0
Views
360
Activity
1w
Difficulty in debugging VOIP notification
When attached app to debugger with real device, the OS seems to kill the app if the Callkit interface isn't emitted by the app at background within 5s. Do you have any tip in debugging?
Replies
1
Boosts
0
Views
144
Activity
2w
Future roadmap for APNs token authentication: Granular app-scoped keys and ephemeral tokens?
"The introduction of team-scoped keys is a fantastic step forward for tightening security and isolating responsibilities within larger development organizations. However, as infrastructure moves closer to Zero Trust architectures, managing these keys across decentralized microservices or CI/CD pipelines still presents challenges. I have two questions regarding the long-term roadmap for APNs authentication: 1 App-Level Scoping: Are there plans to allow authentication keys to be scoped down to specific App IDs (Bundle IDs) rather than the entire team? Currently, a compromised team-scoped key could still potentially impact other apps within the same developer account. 2 Short-lived / Ephemeral Tokens: Is Apple considering support for short-lived, dynamically generated authentication tokens (similar to AWS IAM roles or OAuth 2.0 client credentials with expiration) to eliminate the need for storing long-lived ⁠.p8⁠ master keys on third-party backend servers? Understanding the direction of APNs security would greatly help us architect our next-generation notification backend."
Replies
1
Boosts
0
Views
160
Activity
2w
Recommendation for leveling up notification game
Years ago a notification evangelist had recommended supporting NotificationContentExtension and NotificationServiceExtension. Fast forward to notification AI summaries, live activities, and lock screen widgets, iPhone mirroring, and all the others I'm missing, are there any other features developers should be utilizing when building out a notification strategy? Conversely, are there things to look out for if we DON'T adopt something as a negative? For context, the notifications might be general all audience, as well as, direct to user with custom content.
Replies
2
Boosts
0
Views
182
Activity
2w
Updating Notifications
When updating Notifications, is it best practice to delete and reset all of them, or just delete and reset the Notifications that need to change? We have data coming from multiple sources, and as a result, we are often updating the notifications. This can be several times in under 10 seconds.
Replies
2
Boosts
0
Views
192
Activity
2w
Recommended approach for persistent emergency alarms on iOS
We have an emergency alert app that can trigger alarms in the event of a potential accident. We currently use Critical Alerts, which works well when the app is suspended or running in the background. A key requirement is that the alarm continues playing until the user explicitly acknowledges or dismisses it, as nearby people may need to notice the alarm and assist. Today, we’re achieving this by scheduling multiple Critical Alert notifications with the maximum sound duration (30 seconds) to create a longer continuous alarm. While this mostly works, it feels like a workaround and isn’t fully reliable. Is there a recommended way to implement a persistent emergency alarm experience on iOS? Would AlarmKit be an appropriate solution for this use case, or is it intended only for user-scheduled alarms and timers? Are there any other APIs or patterns you would recommend?
Replies
1
Boosts
0
Views
217
Activity
2w
Delegate to know notification permission changes
Will your team consider adding an app delegate or notification center delegate to let apps know the system notification permission enable and disable change?
Replies
1
Boosts
0
Views
161
Activity
2w
How long in advance can you schedule a live activity with remote notification support?
How far in advance can you register a live activity with an app using the remote notification support mechanism? Is this consistent across OS versions and device models? Any gotchas to be aware of when expanding to live activities and their supporting notifications in terms of update frequency or APNs dropping pushes if they queue up?
Replies
1
Boosts
1
Views
146
Activity
2w
Tips to test/debug silent pushes in Test Flight when throttled
Populating widgets with silent push notifications would be great for us if they were more predictable. Can you share tips for debugging / testing in Test Flight beyond the usual recommendations available online? When messages are not processed it is a major challenge to distinguish between code problems and device throttling.
Replies
1
Boosts
0
Views
161
Activity
2w
Tips to test/debug silent pushes in Test Flight when throttled
Populating widgets with silent push notifications would be great for us if they were more predictable. Can you share tips for debugging / testing in Test Flight beyond the usual recommendations available online? When messages are not processed it is a major challenge to distinguish between code problems and device throttling.
Replies
0
Boosts
0
Views
133
Activity
2w
AlarmKit — disabling haptics when alarm fires?
Hi, Quick question on AlarmKit (iOS 26): is there any way to disable the vibration/haptics that play alongside the alarm sound? I'm building a gentle wake-up alarm and I'd like sound-only behavior. From what I can see, AlertConfiguration.AlertSound only lets me customize the audio (.default or .named(_:)). There doesn't seem to be a haptic-related property on AlertConfiguration or anywhere else in the alarm configuration chain. Is this a current limitation, or am I missing something? If it's a limitation, I'll file a Feedback Assistant request and post the FB number here. Thanks!
Replies
3
Boosts
0
Views
286
Activity
2w
AlarmKit dense fan-out scheduling: alarms intermittently fire late or not at all on locked iOS 26.x device
Hi all, I'm building an iOS alarm app on AlarmKit (iOS 26+) and running into reliability issues I can't find documented anywhere. Hoping someone here has insight. What we're doing We schedule a "fan-out" pattern, a single user-set alarm becomes a sequence of AlarmKit alarms firing at regular intervals over ~50 minutes. The density is needed because we require repeated wake-up alerts the user can't easily ignore until they complete an explicit dismissal action. A single AlarmKit alarm that auto-mutes after Apple's default duration doesn't solve the heavy-sleeper case. We've seen other iOS alarm apps use a similar approach reliably on iOS 26+, so the pattern seems achievable. We're clearly missing something about AlarmKit's behavior under dense scheduling. The issue AlarmKit alarms intermittently fail to enter .alerting at their scheduled times when the device is locked. Lateness varies from ~20 seconds up to 4+ minutes. The bug is intermittent ie. no deterministic reproducer. When the lateness is short (~15-22s), the next alarm in the sequence often fires only a few seconds later, suggesting the first two get bunched rather than firing independently. When the lateness is long (minutes), our AlarmManager.shared.alarmUpdates subscriber observes zero .alerting transitions during the gap, then receives a flurry of events when the device wakes. Verified via on-thread Swift logging, not a bridge or JS-suspension issue. Our setup AlarmManager.AlarmConfiguration with .fixed(date) schedule, AlarmAttributes + stop button, StopAlarmIntent, custom .named(...) sound No alerting duration specified (we don't believe one is exposed) NSAlarmKitUsageDescription set; AlarmKit authorized Registered WidgetExtension for the auto Live Activity No Critical Alerts entitlement (docs suggest AlarmKit doesn't need it) Questions Is there a documented or undocumented density limit for AlarmKit alarms scheduled in close succession? What is iOS's behavior when multiple AlarmKit alarms are simultaneously in .alerting state? Coalesce? Queue? Drop? Is there a supported way for the app to control per-alarm alerting duration before iOS auto-mutes? For locked-overnight scenarios, are there documented power-management or dasd interactions that defer AlarmKit fires? Does declaring UIBackgroundModes fetch/processing affect this? Any insight or a point in the right direction would be super appreciated!
Replies
2
Boosts
0
Views
312
Activity
2w
Push Notification Icon Not Updated on Some Devices After App Icon Change
Hi, We recently updated our app icon, but the push notification icon has not been updated on some devices. It still shows the old icon on: • iPhone 16 Pro — iOS 26 • iPhone 14 — iOS 26 • iPad Pro 11” (M4) — iOS 18.6.2 • iPhone 16 Plus — iOS 18.5 After restarting these devices, the push notification icon is refreshed and displays the new version correctly. Could you advise how we can ensure the push notification icon updates properly on all affected devices without requiring users to restart? Thank you.
Replies
3
Boosts
2
Views
674
Activity
2w
Can APNs wake a sleeping Mac for a third-party app?
I'm building a macOS app and trying to confirm whether there's a way for me to remotely wake a Mac so my app can do a small amount of work (using APNs silent notifications or any other technique). Here's what I want to happen: User runs my app on their Mac User puts the Mac to sleep (Apple menu > Sleep) 30 minutes later, my server sends a push notification (content-available: 1, apns-push-type: background, apns-priority: 5) via APNs to the Mac Note: Power Nap and Wake for Network Access are enabled The Mac dark-wakes, delivers the notification to my app via application(_:didReceiveRemoteNotification:), my app gets ~30 seconds to open a WebSocket, do some work, and return Mac goes back to sleep So far, I've been able to send silent push notifications to a sleeping Mac, but my app only gets to take action on them after the Mac has been awoken manually. I've tried both silent pushes (content-available: 1, priority 5) and alert pushes (priority 10) with the same result. After trying every option I can find, I don't believe notifications can wake a sleeping Mac and allow my third-party app to process data, but I really want to be wrong. Can anyone confirm whether or not this is possible?
Replies
3
Boosts
0
Views
267
Activity
2w
NSE Filtering Entitlement — No Response After 4+ Weeks (Request ID: 7NPNCB7Q9P)
NSE Filtering Entitlement — No Response After 4+ Weeks (Request ID: 7NPNCB7Q9P) We submitted a request for the Notification Service Extension Filtering Entitlement (com.apple.developer.usernotifications.filtering) over two weeks ago and have received no response. App: NoLink Bundle ID: io.nolink.ios NSE Bundle ID: io.nolink.ios.nse Team ID: V2E3A94DC9 Request ID: 7NPNCB7Q9P Support Case ID: 102886799629 NoLink is an end-to-end encrypted messaging app built on the Matrix protocol with voice and video calling. All push notifications arrive encrypted — the NSE decrypts them to determine if the event is a message or an incoming call. Without this entitlement, incoming VoIP calls cannot ring properly. Users receive a silent text notification instead of the native CallKit incoming call screen. The duplicate APNS notification for call events cannot be suppressed. Element X iOS (io.element.elementx) has been granted this exact entitlement for the identical use case — same Matrix protocol, same Matrix Rust SDK, same NSE architecture. NoLink is built on the same codebase. We also opened Support Case 102886799629 but received only a generic response directing us to the Developer Forums. Could someone from the Entitlements team please review our request? We are happy to provide any additional technical details or a demo. Thank you.
Replies
1
Boosts
0
Views
260
Activity
2w
APNs token auth suddenly returns InvalidProviderToken for active team-scoped APNs key
I’m trying to diagnose an APNs provider authentication issue that began after APNs had previously been working. Summary: My iOS app can register for remote notifications and successfully sends its device token to my server. The app has the Push Notifications capability enabled in Xcode, the Bundle ID has Push Notifications enabled in Certificates, Identifiers & Profiles, and the APNs key is active in the Apple Developer portal. However, every server-side APNs send attempt now fails with: HTTP 403 {"reason":"InvalidProviderToken"} This happens against both sandbox and production APNs endpoints. App / account details: Bundle ID / apns-topic: app.terrasignal Team ID: 837F2XGDX Current APNs Key ID: HNW7XPK2H3 APNs key type: Apple Push Notifications service (APNs) Key configuration: Team scoped, Sandbox & Production Xcode signing team: David Buck / Team ID 837F2XGDX Push Notifications capability is enabled in Xcode Device token environment tested: sandbox Server clock verified against Apple/date header and matches UTC What works: iOS app launches successfully Push permission is granted Device token is generated Device registers with my server successfully Server stores the token as sandbox for bundle app.terrasignal What fails: Server-to-APNs provider authentication Direct HTTP/2 APNs request fails before notification delivery Failure reason is always InvalidProviderToken I tested three separate APNs keys: 34T746MWFV T9N75GU2AV HNW7XPK2H3 Each key was downloaded from the Developer portal, uploaded to the server, verified as a valid .p8 private key, and used with its matching Key ID. All produce the same InvalidProviderToken result. I also bypassed my APNs library and tested direct HTTP/2 + JOSE JWT signing. The direct APNs test also fails with the same response: HTTP status: 403 Response body: {"reason":"InvalidProviderToken"} Example direct APNs test details: Host: api.sandbox.push.apple.com Path: /3/device/ apns-topic: app.terrasignal apns-push-type: alert apns-priority: 10 JWT header: {"alg":"ES256","kid":"HNW7XPK2H3"} JWT payload includes iss: 837F2XGDX and current iat Key imports successfully with jose importPKCS8 JWT is generated successfully APNs rejects it with InvalidProviderToken I also tried production endpoint with the same result: Host: api.push.apple.com HTTP 403 {"reason":"InvalidProviderToken"} Things verified: System clock is correct Docker/server UTC time matches Apple Date header Bundle ID topic is app.terrasignal APNs key exists in the Apple Developer portal APNs service is enabled on the key Key is configured for Sandbox & Production Push Notifications capability is enabled for the app Xcode signing uses the same team The .p8 file is not empty or malformed The key imports successfully via jose/importPKCS8 The issue occurs before APNs evaluates the device token, because authentication fails first Question: What Apple-side account/key/app configuration state can cause multiple active APNs auth keys for the same team to return InvalidProviderToken, even when: the key is active, APNs is enabled, the Team ID matches, the Bundle ID topic matches, the server clock is correct, and a direct HTTP/2 APNs request with manually generated ES256 JWT also fails? Is there a way to force-refresh, repair, or re-sync APNs provider authentication for a Developer account / Bundle ID / APNs key?
Replies
7
Boosts
1
Views
539
Activity
3w