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

Significant increase in 410 "Unregistered" responses from APNs when sending push notifications.
We are observing a significant increase in 410 "Unregistered/ExpiredToken" responses from APNs when sending push notifications after 20 July. According to documentation, this indicates that the device token is no longer valid for the specified topic. However, the sudden spike raises questions about whether there have been any recent updates or changes to APNs' token invalidation logic. Could you please confirm: Whether there have been any recent updates in APNs behavior related to 410 responses? If there are best practices or recommendations for handling large volumes of token invalidations in order to detect uninstallations?
1
0
230
Aug ’25
Getting null data from App Store Server Notification
Hello Apple Support Team, We are using auto-renew plans in our app We have set the webhook URL in our App Store Connect account to get the Store server notification to get the auto renew data for an user The issue is when a user purchases any auto-renew plan at the auto-renew time, we are getting null data from the Apple side. We have printed the log's data to check what data are coming from the Apple webhook. we have attached our logs data please check it and let me know what can we do to resolve this
1
0
118
Jun ’25
Provisioning Profile Missing com.apple.developer.push-notifications Entitlement Despite Correct Setup
Hi all, I’m running into an issue with provisioning profiles not including the com.apple.developer.push-notifications entitlement — even though everything seems to be configured correctly. Here's what I’ve done: Checked the App ID has Push Notifications enabled. I’ve clicked “Configure” and created a Production APNs certificate under the App ID. I’ve regenerated the provisioning profiles (Ad Hoc and App Store). I can see within the profiles within App Store Connect that the push notifications capability is listed I’ve downloaded and decoded the profiles using: security cms -D -i profile.mobileprovision > decoded.plist But com.apple.developer.push-notifications is still missing under the <key>Entitlements</key> block. This is causing issues because: When I submit the build to eas I receive this error from XCode: - Provisioning profile "*** Adhoc" doesn't include the com.apple.developer.push-notifications entitlement. Profile qualification is using entitlement definitions that may be out of date. Connect to network to update. (in target '***' from project '***') Refer to "Xcode Logs" below for additional, more detailed logs. To isolate the issue further I: Created a completely new App ID, enabling Push Notifications from the start. Created new APNs certificate. Generated new provisioning profiles with a valid distribution certificate. Still no push entitlement embedded in the profile. Question: Has anyone else encountered this issue where Push Notifications are enabled and configured, but the entitlement still fails to embed in the profile? Thanks in advance.
1
1
173
Jun ’25
Expected behavior for a Notification Service Extension with notification filtering when requestAuthorization has not been requested
If there is a Notification Service Extension which has the com.apple.developer.usernotifications.filtering entitlement, then does/how having that entitlement affect the preconditions for the NSE to be delivered a push? Specifically, if the app has not prompted for requestAuthorization() is it expected that the push will be delivered to the NSE or not? Thank you
1
0
153
Sep ’25
NSUserNotificationsUsageDescription only works for certain locales
I'm trying to provide custom localized descriptions for the iOS notification permission popup in my app, which supports multiple locales. To achieve this, I'm using InfoPlist.strings files per locale with the following keys: NSUserNotificationsUsageDescription NSUserTrackingUsageDescription The issue I'm facing is that NSUserTrackingUsageDescription is working correctly across all tested locales, but NSUserNotificationsUsageDescription only works for some locales. Locales tested: Working: ja, tr, fr-CA Not working: fr-BE, nl-BE In each case, the correct localized NSUserTrackingUsageDescription appears, but the NSUserNotificationsUsageDescription falls back to the default or does not appear as expected in fr-BE and nl-BE. I'm using Xcode 16 and testing on both iOS 18 simulator and physical devices, and the issue is consistent across both. Any insights on whether this is a known issue in iOS or if there are additional steps needed for NSUserNotificationsUsageDescription to localize properly would be greatly appreciated.
1
0
225
Jun ’25
UNNotificationServiceExtension Not Displaying Sender Image
I created a Notification Service Extension to display profile images in place for the app image (i.e. iMessage). I send a remote push notification via Firebase Functions, and in the payload, the relevant profile image url string. The profile image url string in the payload is successfully delivered as it appears in my console log and AppDelegate didReceiveRemoteNotification function. My problem is the profile image does not replace the default app icon image in the remote push notification. Below is my configuration. Any guidance would be appreciated! Main target app: the info plist contains NSUSerActivityTypes = [INSendMessageIntent]. The Communications Notifications capability is enabled and "Copy only when installing" in Build Phases Embed Foundation Extensions Notification Service Extension plist: contains NSExtension > NSExtensionAttributes > IntentsSupported > INSendMessageIntent. Notification Service Extension class code: var contentHandler: ((UNNotificationContent) -> Void)? var bestAttemptContent: UNMutableNotificationContent? override func didReceive(_ request: UNNotificationRequest, withContentHandler contentHandler: @escaping (UNNotificationContent) -> Void) { self.contentHandler = contentHandler bestAttemptContent = (request.content.mutableCopy() as? UNMutableNotificationContent) guard var bestAttemptContent = bestAttemptContent else { return } guard let fcmOptions = bestAttemptContent.userInfo["fcm_options"] as? [String: Any], let attachmentUrlAsString = fcmOptions["imageURL"] as? String else { contentHandler(bestAttemptContent) return } if let attachmentUrl = URL(string: attachmentUrlAsString) { var senderNameComponents = PersonNameComponents() senderNameComponents.nickname = bestAttemptContent.title let profileImage = INImage(url: attachmentUrl) let sender = INPerson(personHandle: INPersonHandle(value: "1233211234", type: .unknown), nameComponents: senderNameComponents, displayName: bestAttemptContent.title, image: profileImage, contactIdentifier: nil, customIdentifier: nil, isMe: false) let receiver = INPerson(personHandle: INPersonHandle(value: "1233211234", type: .unknown), nameComponents: nil, displayName: nil, image: nil, contactIdentifier: nil, customIdentifier: nil, isMe: true) let intent = INSendMessageIntent( recipients: [receiver], outgoingMessageType: .outgoingMessageText, content: "Test", speakableGroupName: INSpeakableString(spokenPhrase: "Sender Name"), conversationIdentifier: "sampleConversationIdentifier", serviceName: nil, sender: sender, attachments: nil ) intent.setImage(profileImage, forParameterNamed: \.sender) let interaction = INInteraction(intent: intent, response: nil) interaction.direction = .incoming interaction.donate(completion: nil) if #available(iOSApplicationExtension 15.0, *) { do { bestAttemptContent = try bestAttemptContent.updating(from: intent) as! UNMutableNotificationContent } catch { contentHandler(bestAttemptContent) return } } contentHandler(bestAttemptContent) } else { contentHandler(bestAttemptContent) return } } }
1
0
1.2k
Nov ’25
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.
1
0
340
Nov ’25
My app suddenly cannot receive push notifications
My app(The Smart Life app) is unable to receive push notifications. Please confirm whether APNs has received push notifications from Alibaba Cloud and whether APNs has successfully pushed notifications to the Smart Life app.The Smart Life app uses Alibaba Cloud's push notification service. The message ID pushed by Alibaba Cloud is: f7a02288-a995-47ed-b417-837461028f03 Current Symptom: Alibaba Cloud has reported that this message has been successfully pushed to APNs, but the smart life app has not received any push notifications. The feedback log from Alibaba Cloud shows that the APNs push was successful, but the smart life app did not receive any push. Because APNs do not have message receipts and Alibaba Cloud cannot obtain notification delivery status, it is recommended that I use the APNs channel message ID to submit a work order to Apple technical support for investigation. Note: All push notification permissions for the Smart Life app are enabled, and the Smart Life app is in the foreground when push notifications are sent.
1
0
107
Sep ’25
Backgrounded app - Local Notifications
I'm working on an app that syncs with Apple Health events. Every time an event occurs, the app should send a notification. The problem occurs when the app is backgrounded or force-closed; it can no longer send local notifications, and because these events can occur at any time, scheduled notifications can't be used. I'm just wondering if anyone's found a creative way around this. I know we can't override system behaviour, I'm just thinking of other alternative solutions for the matter.
1
0
179
Mar ’26
UNNotificationAttachment preview intermittently missing (attachment-store URL becomes unreadable)
I have been fighting this problem for two months and would love any help, advice or tips. Should I file a DTS ticket? Summary We attach a JPEG image to a local notification using UNNotificationAttachment. iOS reports the delivered notification as having attachments=1, but intermittently no image preview appears in Notification Center. In correlated cases, the attachment’s UNNotificationAttachment.url (which points into iOS’s attachment store) becomes unreadable (Data(contentsOf:) fails) even though the delivered notification still reports attachments=1. This document describes the investigation, evidence, and mitigations attempted. Product / Component UserNotifications framework UNNotificationAttachment rendering in Notification UI (Notification Center / banner / expanded preview) Environment App: OnThisDay (SwiftUI, Swift 6) Notifications: local notifications scheduled with UNCalendarNotificationTrigger(repeats: false) Attachment: JPEG generated from PhotoKit (PHImageManager.requestImage) and written to app temp directory, then passed into UNNotificationAttachment. Test contexts: Debug builds (direct Xcode install) TestFlight builds (production signing) iOS devices: multiple, reproducible with long runs and user clearing delivered notifications Expected Result Delivered notifications with UNNotificationAttachment should consistently show the image preview in Notification Center (thumbnail and expanded preview), as long as the notification reports attachments=1. If the OS reports attachments=1, the attachment’s store URL should remain valid/readable for the lifetime of the delivered notification still present in Notification Center. Actual Result Intermittently: Notification Center shows no image preview even though the app scheduled the notification with an attachment and iOS reports the delivered notification as having attachments=1. When we inspect delivered notifications via UNUserNotificationCenter.getDeliveredNotifications, the delivered notification’s request.content.attachments.first?.url exists but is unreadable (attempting Data(contentsOf:) returns nil / throws), i.e. the backing attachment-store file appears missing or inaccessible. In some scenarios the attachment-store file is readable for hours while the notification is pending, and then becomes unreadable after the notification is delivered. Reproduction Scenarios (Observed) Next-day reminders show attachment-store unreadable after delivery 1. Schedule a one-shot daily reminder for next day (07:00 local time) with UNCalendarNotificationTrigger(repeats: false) and a JPEG attachment. 2. During the prior day, periodic background refresh tasks verify the pending notification’s attachment-store URL is readable (pendingReadable=true). 3. After the reminder is delivered the next morning, the delivered snapshot shows the delivered notification’s attachment-store URL is unreadable (readable=false) and Notification Center shows no preview. Interpretation: the attachment-store blob appears to become inaccessible around/after delivery, despite being readable while pending. Evidence and Instrumentation We added non-crashing diagnostic logging (Debug builds) around: Scheduling time Logged that we successfully created a UNNotificationAttachment from a unique temp file. Logged that UNUserNotificationCenter.add(request) succeeded. Queried pendingNotificationRequests() and logged the scheduled request’s attachment url.lastPathComponent (iOS attachment-store filename). Delivered time (when app becomes active) Called UNUserNotificationCenter.getDeliveredNotifications and logged: delivered count, attachment count attachment url.lastPathComponent whether Data(contentsOf: attachment.url) succeeds (readable=true/false) Content fingerprinting Fingerprinted the exact JPEG bytes we wrote (SHA-256 prefix + byte count). Logged the iOS attachment-store filename (url.lastPathComponent) returned post-scheduling. Decode validation probe (later addition) When Data(contentsOf:) succeeds, we validate it decodes as an image using CGImageSourceCreateWithData and log: UTI (e.g. public.jpeg) pixel width/height magic header bytes What we tried / Mitigations Proactive “self-heal” for pending notifications Change: during background refresh/foreground refresh, verify the pending daily reminder’s attachment-store URL readability. If it’s unreadable, reschedule with a new attachment (same trigger). Rationale: if iOS drops the store file before delivery, recreating could repair it. Result: We observed cases where pending remained readable but delivered became unreadable after delivery, so this doesn’t address all observed failures. It is still valuable hardening. Increase scheduling frequency / reschedule closer to fire time (proposed/considered) We discussed adding a debug mode to always recreate the daily reminder during background refresh tasks (or only within N hours of fire time) to reduce the time window between attachment creation and delivery. Status: experimental; not yet confirmed to resolve the “pendingReadable=true → delivered unreadable after delivery” failure. Impact The primary UX value of the daily reminder is the preview photo; missing previews degrade core functionality. Failures are intermittent and appear dependent on OS attachment-store behavior and Notification Center actions (clearing notifications), making them difficult to mitigate fully app-side. Notes / Questions for Apple 1. Is iOS allowed to coalesce/deduplicate UNNotificationAttachment storage across notifications? If so, what is the retention model when delivered notifications are removed? 2. If a delivered notification still reports attachments=1, should its attachment-store URL remain valid/readable while the notification is still present in Notification Center? 3. In “next-day” one-shot scheduling scenarios, can the attachment-store blob be purged between scheduling and delivery (or immediately after delivery) even if the notification remains visible? 4. Is there a recommended pattern to ensure attachment previews remain stable for long-lived scheduled notifications (hours to a day), especially when using UNCalendarNotificationTrigger(repeats: false)? Minimal Code Pattern (simplified) 1. Generate JPEG (PhotoKit → UIImage → JPEG Data). 2. Write to a unique temp URL. 3. Create attachment: UNNotificationAttachment(identifier: <uuid>, url: <tempURL>, options: [UNNotificationAttachmentOptionsTypeHintKey: "public.jpeg"]) 4. Schedule notification with a calendar trigger for the next morning.
1
0
110
Jan ’26
Smart Adaptive Volume & Brightness - Say Goodbye to Noise & Visual Pollution!
Hello everyone in the iOS Devolution community! I'd like to share a suggestion that I believe would bring an unprecedented level of intelligence and comfort to the daily iPhone experience: Smart Adaptive Volume & Brightness. The Problem We Aim to Solve How many times has your iPhone rung too loudly in a quiet environment, embarrassing you in a meeting or waking someone up? Or, the opposite, you missed an important call on a busy street because the volume was too low? And what about screen brightness? It's a constant adjustment: too bright in the dark, hard to see in the sun. Currently, we have to manually adjust volume and brightness, or rely on Auto-Brightness (which only works for the screen) and Focus modes, which can be a bit "all or nothing." This leads to interruptions, frustration, and that feeling that your phone isn't really adapting to you. The Solution: Smart Adaptive Volume & Brightness My proposal is for iOS to use the iPhone's own sensors to dynamically adapt notification and ringtone volume, and screen brightness, to the environment we're in. How it would work in practice: Environmental Scan Before Ringing/Displaying: When a notification (call, message, app alert) is about to be delivered, and even before it makes a sound, the iPhone would briefly activate its sensors. The microphone would read the ambient noise level (in decibels), but without recording audio or analyzing any content. Just the "noise" of the surroundings. The ambient light sensor would assess the light intensity around the device. Intelligent and Coordinated Adjustment: Based on these combined readings of noise and brightness, iOS would make the adjustments: In noisy and bright environments (e.g., on the street during the day): The ringtone volume would be automatically increased to ensure you hear it, and the screen brightness would also be raised to facilitate viewing in strong light. In quiet and dark environments (e.g., cinema, bedroom at night): The volume would be discreetly reduced to avoid disturbances, and the screen brightness would be dimmed for your visual comfort and to avoid bothering others. Adjustments would be gradual, adapting to any type of environment (office, cafe, etc.). User Control: Of course, we'd have the option to enable or disable "Smart Adaptive Volume & Brightness" in the settings. We could also define minimum and maximum limits for these automatic adjustments, ensuring the iPhone adapts to our personal comfort levels. This feature would complement existing Focus modes, operating within the permissions of any active Focus. The Benefits for the User Goodbye to Inconvenient Interruptions: No more startling loud rings in quiet places. Never Miss a Call Again: In noisy environments, your iPhone will adapt to be heard. Constant Visual Comfort: The screen will always be at the ideal brightness, without blinding you in the dark or disappearing in the sun. Smoother Experience: Fewer manual adjustments, more time to focus on what matters. Guaranteed Privacy: The use of microphones and sensors would be strictly for environmental measurement, without recording or analyzing personal data. I believe this feature would bring a new level of intelligence and usability to iOS, making the iPhone even more intuitive and adapted to our daily lives. What do you all think of this idea?
1
0
96
Jun ’25
Push Notifications Error
Hi, I'm experiencing an issue with my app. I use Firebase as my server, and it is great. Still, there is one issue: when I send push notifications from my app to users, the users will get the notification if the app is open, but not when it is closed. I have tried many solutions to fix it, even asking AI, but the issue is still there. I would be happy to give you access to Firebase and the Xcode workspace, as I have no clue how to fix it.
1
0
111
Jan ’26
long wait time for usernotifications.filtering entitlement
Hi, happy new year, I'm a Product Manager for a communications app that's currently in testflight. We requested the com.apple.developer.usernotifications.filtering entitlement on December 3rd, and have yet to receive a response from Apple. I understand that the holiday break may have gotten in the way, however it feels like we were lost in the queue as it's been 6 weeks with no response. Our app owner has checked-in inside appstoreconnect but has not received anything back. Is this common? Is there any process for getting a status update? Are we doing something wrong? Without this entitlement we cannot make the device ring in the background. The app is a voice and video messaging platform.
1
2
376
Jan ’26
Can I enable push notifications in an iOS app built from a web app URL using PWA Builder?
Hi all, I have a React web app that we use as a Progressive Web App (PWA). We currently: Use PWA Builder to package it for Android and iOS Host the app on a secure HTTPS URL Use Firebase Cloud Messaging (FCM) for push notifications (working on Android) However, on iOS, we are unable to get push notifications to work. I understand that PWAs on iOS have limited push support (Safari only, and not through WebView). So I explored using Capacitor, but: Capacitor can load a server.url pointing to our hosted app (great for reuse), but push notifications don’t work If we build the web app locally (npm run build) and embed it in the native iOS shell via Capacitor, push works We would prefer not to fully merge our authentication and main app UIs if avoidable Questions: Is there any approved way to enable push notifications in an iOS .ipa built from a hosted web app (URL) using PWA Builder? If not, is embedding the web assets locally the only Apple-approved way to get push support? Are there any best practices or native plugin recommendations (e.g., APNs or FCM) for handling push notifications in iOS app? Thanks in advance for any guidance. 🙏 Let me know if more technical details would help.
1
0
134
Jun ’25
AWS SNS False Success Delivery
We operate a social network application, SportsYou with over 3 million monthly active users and are experiencing significant issues with push notification delivery through APNs. We have a large number of users reporting they are not receiving push notifications. Our infrastructure uses AWS SNS integrated with APNs to deliver notifications. However, AWS CloudWatch consistently reports successful delivery (Success response), even though users confirm they never received the notifications. Because we receive success responses from AWS SNS, our system does not attempt to recreate or refresh the device endpoints. This leaves us unable to detect or recover from these delivery failures automatically. This issue is widespread and inconsistent. It affects users across multiple variables including different iOS versions, different device models, and different versions of our application. We cannot identify a clear pattern that would help us isolate the root cause. With millions of active users, even a small percentage of delivery failures represents thousands of users experiencing a degraded service. This is significantly impacting user engagement and satisfaction. We need guidance on how to properly diagnose this issue and ensure reliable notification delivery to our users. Specifically, we'd like to understand why we're receiving success responses when notifications aren't being delivered, and what steps we can take to detect and prevent these failures.
1
7
193
Oct ’25
didRegisterForRemoteNotificationsWithDeviceToken Not Called on iOS 18.1.1
I'm experiencing issues with didRegisterForRemoteNotificationsWithDeviceToken not being called on iOS 18.1.1. Here's what I've tried: Basic Setup: Properly configured UNUserNotificationCenter Requested permissions with requestAuthorization(options:) Registered for remote notifications with registerForRemoteNotifications() Environment: Xcode 16.3 iOS 18.1.1 (physical device) Firebase (tried with and without it) Troubleshooting: Verified provisioning profile includes Push Notifications Confirmed APNs certificate is valid Disabled Firebase's method swizzling Tested on a clean project (works fine) Checked device logs (no relevant errors) Code Snippet: // In AppDelegate.swift public func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) { let tokenParts = deviceToken.map { data in String(format: "%02.2hhx", data) } let tokenString = tokenParts.joined() print("📱 Device Token: \(tokenString)") // Store the token for your backend UserDefaults.standard.set(tokenString, forKey: "deviceToken") // Send to backend Task { do { try await APIService.shared.setDeviceToken(tokenString) } catch { print("❌ [AppDelegate] Failed to send device token to backend: \(error)") } } } public func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil) -> Bool { // IMPORTANT: First handle push notification registration UNUserNotificationCenter.current().delegate = self // Request notification permissions self.requestNotificationPermissions() // Register for remote notifications DispatchQueue.main.async { UIApplication.shared.registerForRemoteNotifications() } return true } private func requestNotificationPermissions() { UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .badge, .sound]) { granted, error in guard granted else { print("❌ Notification permission not granted") return } print("✅ Notification permission granted") } }
1
0
117
May ’25
pushkit and callkit
I am currently implementing VoIP push notifications in my iOS app using PushKit. On iOS 18, I am able to receive VoIP notifications successfully when the app is in the foreground. However, when the app is in the background or in a terminated (kill) state, the notifications do not arrive. In earlier iOS versions, my existing implementation worked as expected across all app states. This issue seems to have started after testing on iOS 18, which appears to have introduced stricter permission or background execution requirements. Questions: Has iOS 18 introduced new permission requirements or entitlements for VoIP push notifications? Do I need to explicitly request a new type of user permission for VoIP notifications? Are there additional background modes, Info.plist keys, or PushKit changes required for VoIP to work in background and terminated states on iOS 18? Additional Information: . Foreground: Works fine, pushRegistry(_:didReceiveIncomingPushWith:for:completion:) is triggered. . Background/Terminated: No call to the above delegate method. . Using correct voip push type in the payload. . PushKit is configured in AppDelegate. . Background modes for "Voice over IP" and "Background Processing" are enabled. . Using a real device with iOS 18 for testing (not simulator). Any guidance or updated documentation references for handling VoIP pushes in iOS 18 would be greatly appreciated.
1
0
307
Aug ’25
Does UNNotificationRequest have a 64-notification scheduling limit?
Hi, We have a simple calendar reminder app that uses UNNotificationRequest to schedule local notifications for user events. I’m wondering whether UNNotificationRequest has a system-imposed limit of 64 upcoming scheduled notifications, similar to the deprecated UILocalNotification. We’re asking because one of our users is not receiving recently scheduled reminders. Our current workflow is: We schedule notifications on app launch and when the app is about to quit. Before scheduling, we call removeAllPendingNotificationRequests(). We then fetch the 64 nearest upcoming events and schedule them using UNUserNotificationCenter.current().add(...). This approach works fine during our testing, but we’re unsure what might be causing the issue for some users. Any insights would be appreciated. Thanks!
1
0
330
Jan ’26
Significant increase in 410 "Unregistered" responses from APNs when sending push notifications.
We are observing a significant increase in 410 "Unregistered/ExpiredToken" responses from APNs when sending push notifications after 20 July. According to documentation, this indicates that the device token is no longer valid for the specified topic. However, the sudden spike raises questions about whether there have been any recent updates or changes to APNs' token invalidation logic. Could you please confirm: Whether there have been any recent updates in APNs behavior related to 410 responses? If there are best practices or recommendations for handling large volumes of token invalidations in order to detect uninstallations?
Replies
1
Boosts
0
Views
230
Activity
Aug ’25
Getting null data from App Store Server Notification
Hello Apple Support Team, We are using auto-renew plans in our app We have set the webhook URL in our App Store Connect account to get the Store server notification to get the auto renew data for an user The issue is when a user purchases any auto-renew plan at the auto-renew time, we are getting null data from the Apple side. We have printed the log's data to check what data are coming from the Apple webhook. we have attached our logs data please check it and let me know what can we do to resolve this
Replies
1
Boosts
0
Views
118
Activity
Jun ’25
Provisioning Profile Missing com.apple.developer.push-notifications Entitlement Despite Correct Setup
Hi all, I’m running into an issue with provisioning profiles not including the com.apple.developer.push-notifications entitlement — even though everything seems to be configured correctly. Here's what I’ve done: Checked the App ID has Push Notifications enabled. I’ve clicked “Configure” and created a Production APNs certificate under the App ID. I’ve regenerated the provisioning profiles (Ad Hoc and App Store). I can see within the profiles within App Store Connect that the push notifications capability is listed I’ve downloaded and decoded the profiles using: security cms -D -i profile.mobileprovision &gt; decoded.plist But com.apple.developer.push-notifications is still missing under the &lt;key&gt;Entitlements&lt;/key&gt; block. This is causing issues because: When I submit the build to eas I receive this error from XCode: - Provisioning profile "*** Adhoc" doesn't include the com.apple.developer.push-notifications entitlement. Profile qualification is using entitlement definitions that may be out of date. Connect to network to update. (in target '***' from project '***') Refer to "Xcode Logs" below for additional, more detailed logs. To isolate the issue further I: Created a completely new App ID, enabling Push Notifications from the start. Created new APNs certificate. Generated new provisioning profiles with a valid distribution certificate. Still no push entitlement embedded in the profile. Question: Has anyone else encountered this issue where Push Notifications are enabled and configured, but the entitlement still fails to embed in the profile? Thanks in advance.
Replies
1
Boosts
1
Views
173
Activity
Jun ’25
Expected behavior for a Notification Service Extension with notification filtering when requestAuthorization has not been requested
If there is a Notification Service Extension which has the com.apple.developer.usernotifications.filtering entitlement, then does/how having that entitlement affect the preconditions for the NSE to be delivered a push? Specifically, if the app has not prompted for requestAuthorization() is it expected that the push will be delivered to the NSE or not? Thank you
Replies
1
Boosts
0
Views
153
Activity
Sep ’25
NSUserNotificationsUsageDescription only works for certain locales
I'm trying to provide custom localized descriptions for the iOS notification permission popup in my app, which supports multiple locales. To achieve this, I'm using InfoPlist.strings files per locale with the following keys: NSUserNotificationsUsageDescription NSUserTrackingUsageDescription The issue I'm facing is that NSUserTrackingUsageDescription is working correctly across all tested locales, but NSUserNotificationsUsageDescription only works for some locales. Locales tested: Working: ja, tr, fr-CA Not working: fr-BE, nl-BE In each case, the correct localized NSUserTrackingUsageDescription appears, but the NSUserNotificationsUsageDescription falls back to the default or does not appear as expected in fr-BE and nl-BE. I'm using Xcode 16 and testing on both iOS 18 simulator and physical devices, and the issue is consistent across both. Any insights on whether this is a known issue in iOS or if there are additional steps needed for NSUserNotificationsUsageDescription to localize properly would be greatly appreciated.
Replies
1
Boosts
0
Views
225
Activity
Jun ’25
UNNotificationServiceExtension Not Displaying Sender Image
I created a Notification Service Extension to display profile images in place for the app image (i.e. iMessage). I send a remote push notification via Firebase Functions, and in the payload, the relevant profile image url string. The profile image url string in the payload is successfully delivered as it appears in my console log and AppDelegate didReceiveRemoteNotification function. My problem is the profile image does not replace the default app icon image in the remote push notification. Below is my configuration. Any guidance would be appreciated! Main target app: the info plist contains NSUSerActivityTypes = [INSendMessageIntent]. The Communications Notifications capability is enabled and "Copy only when installing" in Build Phases Embed Foundation Extensions Notification Service Extension plist: contains NSExtension > NSExtensionAttributes > IntentsSupported > INSendMessageIntent. Notification Service Extension class code: var contentHandler: ((UNNotificationContent) -> Void)? var bestAttemptContent: UNMutableNotificationContent? override func didReceive(_ request: UNNotificationRequest, withContentHandler contentHandler: @escaping (UNNotificationContent) -> Void) { self.contentHandler = contentHandler bestAttemptContent = (request.content.mutableCopy() as? UNMutableNotificationContent) guard var bestAttemptContent = bestAttemptContent else { return } guard let fcmOptions = bestAttemptContent.userInfo["fcm_options"] as? [String: Any], let attachmentUrlAsString = fcmOptions["imageURL"] as? String else { contentHandler(bestAttemptContent) return } if let attachmentUrl = URL(string: attachmentUrlAsString) { var senderNameComponents = PersonNameComponents() senderNameComponents.nickname = bestAttemptContent.title let profileImage = INImage(url: attachmentUrl) let sender = INPerson(personHandle: INPersonHandle(value: "1233211234", type: .unknown), nameComponents: senderNameComponents, displayName: bestAttemptContent.title, image: profileImage, contactIdentifier: nil, customIdentifier: nil, isMe: false) let receiver = INPerson(personHandle: INPersonHandle(value: "1233211234", type: .unknown), nameComponents: nil, displayName: nil, image: nil, contactIdentifier: nil, customIdentifier: nil, isMe: true) let intent = INSendMessageIntent( recipients: [receiver], outgoingMessageType: .outgoingMessageText, content: "Test", speakableGroupName: INSpeakableString(spokenPhrase: "Sender Name"), conversationIdentifier: "sampleConversationIdentifier", serviceName: nil, sender: sender, attachments: nil ) intent.setImage(profileImage, forParameterNamed: \.sender) let interaction = INInteraction(intent: intent, response: nil) interaction.direction = .incoming interaction.donate(completion: nil) if #available(iOSApplicationExtension 15.0, *) { do { bestAttemptContent = try bestAttemptContent.updating(from: intent) as! UNMutableNotificationContent } catch { contentHandler(bestAttemptContent) return } } contentHandler(bestAttemptContent) } else { contentHandler(bestAttemptContent) return } } }
Replies
1
Boosts
0
Views
1.2k
Activity
Nov ’25
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
1
Boosts
0
Views
340
Activity
Nov ’25
macOS 26 Tahoe - Battery warning
In the new update of macOS 26 Tahoe, I have noticed that on my MacBook Air M3, I am not getting a warning when my battery is low or when it's about to go to sleep. My MacBook is just turning off without warning.
Replies
1
Boosts
0
Views
172
Activity
Jun ’25
My app suddenly cannot receive push notifications
My app(The Smart Life app) is unable to receive push notifications. Please confirm whether APNs has received push notifications from Alibaba Cloud and whether APNs has successfully pushed notifications to the Smart Life app.The Smart Life app uses Alibaba Cloud's push notification service. The message ID pushed by Alibaba Cloud is: f7a02288-a995-47ed-b417-837461028f03 Current Symptom: Alibaba Cloud has reported that this message has been successfully pushed to APNs, but the smart life app has not received any push notifications. The feedback log from Alibaba Cloud shows that the APNs push was successful, but the smart life app did not receive any push. Because APNs do not have message receipts and Alibaba Cloud cannot obtain notification delivery status, it is recommended that I use the APNs channel message ID to submit a work order to Apple technical support for investigation. Note: All push notification permissions for the Smart Life app are enabled, and the Smart Life app is in the foreground when push notifications are sent.
Replies
1
Boosts
0
Views
107
Activity
Sep ’25
Backgrounded app - Local Notifications
I'm working on an app that syncs with Apple Health events. Every time an event occurs, the app should send a notification. The problem occurs when the app is backgrounded or force-closed; it can no longer send local notifications, and because these events can occur at any time, scheduled notifications can't be used. I'm just wondering if anyone's found a creative way around this. I know we can't override system behaviour, I'm just thinking of other alternative solutions for the matter.
Replies
1
Boosts
0
Views
179
Activity
Mar ’26
UNNotificationAttachment preview intermittently missing (attachment-store URL becomes unreadable)
I have been fighting this problem for two months and would love any help, advice or tips. Should I file a DTS ticket? Summary We attach a JPEG image to a local notification using UNNotificationAttachment. iOS reports the delivered notification as having attachments=1, but intermittently no image preview appears in Notification Center. In correlated cases, the attachment’s UNNotificationAttachment.url (which points into iOS’s attachment store) becomes unreadable (Data(contentsOf:) fails) even though the delivered notification still reports attachments=1. This document describes the investigation, evidence, and mitigations attempted. Product / Component UserNotifications framework UNNotificationAttachment rendering in Notification UI (Notification Center / banner / expanded preview) Environment App: OnThisDay (SwiftUI, Swift 6) Notifications: local notifications scheduled with UNCalendarNotificationTrigger(repeats: false) Attachment: JPEG generated from PhotoKit (PHImageManager.requestImage) and written to app temp directory, then passed into UNNotificationAttachment. Test contexts: Debug builds (direct Xcode install) TestFlight builds (production signing) iOS devices: multiple, reproducible with long runs and user clearing delivered notifications Expected Result Delivered notifications with UNNotificationAttachment should consistently show the image preview in Notification Center (thumbnail and expanded preview), as long as the notification reports attachments=1. If the OS reports attachments=1, the attachment’s store URL should remain valid/readable for the lifetime of the delivered notification still present in Notification Center. Actual Result Intermittently: Notification Center shows no image preview even though the app scheduled the notification with an attachment and iOS reports the delivered notification as having attachments=1. When we inspect delivered notifications via UNUserNotificationCenter.getDeliveredNotifications, the delivered notification’s request.content.attachments.first?.url exists but is unreadable (attempting Data(contentsOf:) returns nil / throws), i.e. the backing attachment-store file appears missing or inaccessible. In some scenarios the attachment-store file is readable for hours while the notification is pending, and then becomes unreadable after the notification is delivered. Reproduction Scenarios (Observed) Next-day reminders show attachment-store unreadable after delivery 1. Schedule a one-shot daily reminder for next day (07:00 local time) with UNCalendarNotificationTrigger(repeats: false) and a JPEG attachment. 2. During the prior day, periodic background refresh tasks verify the pending notification’s attachment-store URL is readable (pendingReadable=true). 3. After the reminder is delivered the next morning, the delivered snapshot shows the delivered notification’s attachment-store URL is unreadable (readable=false) and Notification Center shows no preview. Interpretation: the attachment-store blob appears to become inaccessible around/after delivery, despite being readable while pending. Evidence and Instrumentation We added non-crashing diagnostic logging (Debug builds) around: Scheduling time Logged that we successfully created a UNNotificationAttachment from a unique temp file. Logged that UNUserNotificationCenter.add(request) succeeded. Queried pendingNotificationRequests() and logged the scheduled request’s attachment url.lastPathComponent (iOS attachment-store filename). Delivered time (when app becomes active) Called UNUserNotificationCenter.getDeliveredNotifications and logged: delivered count, attachment count attachment url.lastPathComponent whether Data(contentsOf: attachment.url) succeeds (readable=true/false) Content fingerprinting Fingerprinted the exact JPEG bytes we wrote (SHA-256 prefix + byte count). Logged the iOS attachment-store filename (url.lastPathComponent) returned post-scheduling. Decode validation probe (later addition) When Data(contentsOf:) succeeds, we validate it decodes as an image using CGImageSourceCreateWithData and log: UTI (e.g. public.jpeg) pixel width/height magic header bytes What we tried / Mitigations Proactive “self-heal” for pending notifications Change: during background refresh/foreground refresh, verify the pending daily reminder’s attachment-store URL readability. If it’s unreadable, reschedule with a new attachment (same trigger). Rationale: if iOS drops the store file before delivery, recreating could repair it. Result: We observed cases where pending remained readable but delivered became unreadable after delivery, so this doesn’t address all observed failures. It is still valuable hardening. Increase scheduling frequency / reschedule closer to fire time (proposed/considered) We discussed adding a debug mode to always recreate the daily reminder during background refresh tasks (or only within N hours of fire time) to reduce the time window between attachment creation and delivery. Status: experimental; not yet confirmed to resolve the “pendingReadable=true → delivered unreadable after delivery” failure. Impact The primary UX value of the daily reminder is the preview photo; missing previews degrade core functionality. Failures are intermittent and appear dependent on OS attachment-store behavior and Notification Center actions (clearing notifications), making them difficult to mitigate fully app-side. Notes / Questions for Apple 1. Is iOS allowed to coalesce/deduplicate UNNotificationAttachment storage across notifications? If so, what is the retention model when delivered notifications are removed? 2. If a delivered notification still reports attachments=1, should its attachment-store URL remain valid/readable while the notification is still present in Notification Center? 3. In “next-day” one-shot scheduling scenarios, can the attachment-store blob be purged between scheduling and delivery (or immediately after delivery) even if the notification remains visible? 4. Is there a recommended pattern to ensure attachment previews remain stable for long-lived scheduled notifications (hours to a day), especially when using UNCalendarNotificationTrigger(repeats: false)? Minimal Code Pattern (simplified) 1. Generate JPEG (PhotoKit → UIImage → JPEG Data). 2. Write to a unique temp URL. 3. Create attachment: UNNotificationAttachment(identifier: <uuid>, url: <tempURL>, options: [UNNotificationAttachmentOptionsTypeHintKey: "public.jpeg"]) 4. Schedule notification with a calendar trigger for the next morning.
Replies
1
Boosts
0
Views
110
Activity
Jan ’26
Use ONE_TIME_CHARGE may cause some problem
If a notification: ONE_TIME_CHARGE is used to ship the IAP content, it involves a point where the client might not finish the transaction, yet the item is shipped. Will an unfinished purchase affect refunds?
Replies
1
Boosts
0
Views
83
Activity
May ’25
Smart Adaptive Volume & Brightness - Say Goodbye to Noise & Visual Pollution!
Hello everyone in the iOS Devolution community! I'd like to share a suggestion that I believe would bring an unprecedented level of intelligence and comfort to the daily iPhone experience: Smart Adaptive Volume & Brightness. The Problem We Aim to Solve How many times has your iPhone rung too loudly in a quiet environment, embarrassing you in a meeting or waking someone up? Or, the opposite, you missed an important call on a busy street because the volume was too low? And what about screen brightness? It's a constant adjustment: too bright in the dark, hard to see in the sun. Currently, we have to manually adjust volume and brightness, or rely on Auto-Brightness (which only works for the screen) and Focus modes, which can be a bit "all or nothing." This leads to interruptions, frustration, and that feeling that your phone isn't really adapting to you. The Solution: Smart Adaptive Volume & Brightness My proposal is for iOS to use the iPhone's own sensors to dynamically adapt notification and ringtone volume, and screen brightness, to the environment we're in. How it would work in practice: Environmental Scan Before Ringing/Displaying: When a notification (call, message, app alert) is about to be delivered, and even before it makes a sound, the iPhone would briefly activate its sensors. The microphone would read the ambient noise level (in decibels), but without recording audio or analyzing any content. Just the "noise" of the surroundings. The ambient light sensor would assess the light intensity around the device. Intelligent and Coordinated Adjustment: Based on these combined readings of noise and brightness, iOS would make the adjustments: In noisy and bright environments (e.g., on the street during the day): The ringtone volume would be automatically increased to ensure you hear it, and the screen brightness would also be raised to facilitate viewing in strong light. In quiet and dark environments (e.g., cinema, bedroom at night): The volume would be discreetly reduced to avoid disturbances, and the screen brightness would be dimmed for your visual comfort and to avoid bothering others. Adjustments would be gradual, adapting to any type of environment (office, cafe, etc.). User Control: Of course, we'd have the option to enable or disable "Smart Adaptive Volume & Brightness" in the settings. We could also define minimum and maximum limits for these automatic adjustments, ensuring the iPhone adapts to our personal comfort levels. This feature would complement existing Focus modes, operating within the permissions of any active Focus. The Benefits for the User Goodbye to Inconvenient Interruptions: No more startling loud rings in quiet places. Never Miss a Call Again: In noisy environments, your iPhone will adapt to be heard. Constant Visual Comfort: The screen will always be at the ideal brightness, without blinding you in the dark or disappearing in the sun. Smoother Experience: Fewer manual adjustments, more time to focus on what matters. Guaranteed Privacy: The use of microphones and sensors would be strictly for environmental measurement, without recording or analyzing personal data. I believe this feature would bring a new level of intelligence and usability to iOS, making the iPhone even more intuitive and adapted to our daily lives. What do you all think of this idea?
Replies
1
Boosts
0
Views
96
Activity
Jun ’25
Push Notifications Error
Hi, I'm experiencing an issue with my app. I use Firebase as my server, and it is great. Still, there is one issue: when I send push notifications from my app to users, the users will get the notification if the app is open, but not when it is closed. I have tried many solutions to fix it, even asking AI, but the issue is still there. I would be happy to give you access to Firebase and the Xcode workspace, as I have no clue how to fix it.
Replies
1
Boosts
0
Views
111
Activity
Jan ’26
long wait time for usernotifications.filtering entitlement
Hi, happy new year, I'm a Product Manager for a communications app that's currently in testflight. We requested the com.apple.developer.usernotifications.filtering entitlement on December 3rd, and have yet to receive a response from Apple. I understand that the holiday break may have gotten in the way, however it feels like we were lost in the queue as it's been 6 weeks with no response. Our app owner has checked-in inside appstoreconnect but has not received anything back. Is this common? Is there any process for getting a status update? Are we doing something wrong? Without this entitlement we cannot make the device ring in the background. The app is a voice and video messaging platform.
Replies
1
Boosts
2
Views
376
Activity
Jan ’26
Can I enable push notifications in an iOS app built from a web app URL using PWA Builder?
Hi all, I have a React web app that we use as a Progressive Web App (PWA). We currently: Use PWA Builder to package it for Android and iOS Host the app on a secure HTTPS URL Use Firebase Cloud Messaging (FCM) for push notifications (working on Android) However, on iOS, we are unable to get push notifications to work. I understand that PWAs on iOS have limited push support (Safari only, and not through WebView). So I explored using Capacitor, but: Capacitor can load a server.url pointing to our hosted app (great for reuse), but push notifications don’t work If we build the web app locally (npm run build) and embed it in the native iOS shell via Capacitor, push works We would prefer not to fully merge our authentication and main app UIs if avoidable Questions: Is there any approved way to enable push notifications in an iOS .ipa built from a hosted web app (URL) using PWA Builder? If not, is embedding the web assets locally the only Apple-approved way to get push support? Are there any best practices or native plugin recommendations (e.g., APNs or FCM) for handling push notifications in iOS app? Thanks in advance for any guidance. 🙏 Let me know if more technical details would help.
Replies
1
Boosts
0
Views
134
Activity
Jun ’25
AWS SNS False Success Delivery
We operate a social network application, SportsYou with over 3 million monthly active users and are experiencing significant issues with push notification delivery through APNs. We have a large number of users reporting they are not receiving push notifications. Our infrastructure uses AWS SNS integrated with APNs to deliver notifications. However, AWS CloudWatch consistently reports successful delivery (Success response), even though users confirm they never received the notifications. Because we receive success responses from AWS SNS, our system does not attempt to recreate or refresh the device endpoints. This leaves us unable to detect or recover from these delivery failures automatically. This issue is widespread and inconsistent. It affects users across multiple variables including different iOS versions, different device models, and different versions of our application. We cannot identify a clear pattern that would help us isolate the root cause. With millions of active users, even a small percentage of delivery failures represents thousands of users experiencing a degraded service. This is significantly impacting user engagement and satisfaction. We need guidance on how to properly diagnose this issue and ensure reliable notification delivery to our users. Specifically, we'd like to understand why we're receiving success responses when notifications aren't being delivered, and what steps we can take to detect and prevent these failures.
Replies
1
Boosts
7
Views
193
Activity
Oct ’25
didRegisterForRemoteNotificationsWithDeviceToken Not Called on iOS 18.1.1
I'm experiencing issues with didRegisterForRemoteNotificationsWithDeviceToken not being called on iOS 18.1.1. Here's what I've tried: Basic Setup: Properly configured UNUserNotificationCenter Requested permissions with requestAuthorization(options:) Registered for remote notifications with registerForRemoteNotifications() Environment: Xcode 16.3 iOS 18.1.1 (physical device) Firebase (tried with and without it) Troubleshooting: Verified provisioning profile includes Push Notifications Confirmed APNs certificate is valid Disabled Firebase's method swizzling Tested on a clean project (works fine) Checked device logs (no relevant errors) Code Snippet: // In AppDelegate.swift public func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) { let tokenParts = deviceToken.map { data in String(format: "%02.2hhx", data) } let tokenString = tokenParts.joined() print("📱 Device Token: \(tokenString)") // Store the token for your backend UserDefaults.standard.set(tokenString, forKey: "deviceToken") // Send to backend Task { do { try await APIService.shared.setDeviceToken(tokenString) } catch { print("❌ [AppDelegate] Failed to send device token to backend: \(error)") } } } public func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil) -> Bool { // IMPORTANT: First handle push notification registration UNUserNotificationCenter.current().delegate = self // Request notification permissions self.requestNotificationPermissions() // Register for remote notifications DispatchQueue.main.async { UIApplication.shared.registerForRemoteNotifications() } return true } private func requestNotificationPermissions() { UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .badge, .sound]) { granted, error in guard granted else { print("❌ Notification permission not granted") return } print("✅ Notification permission granted") } }
Replies
1
Boosts
0
Views
117
Activity
May ’25
pushkit and callkit
I am currently implementing VoIP push notifications in my iOS app using PushKit. On iOS 18, I am able to receive VoIP notifications successfully when the app is in the foreground. However, when the app is in the background or in a terminated (kill) state, the notifications do not arrive. In earlier iOS versions, my existing implementation worked as expected across all app states. This issue seems to have started after testing on iOS 18, which appears to have introduced stricter permission or background execution requirements. Questions: Has iOS 18 introduced new permission requirements or entitlements for VoIP push notifications? Do I need to explicitly request a new type of user permission for VoIP notifications? Are there additional background modes, Info.plist keys, or PushKit changes required for VoIP to work in background and terminated states on iOS 18? Additional Information: . Foreground: Works fine, pushRegistry(_:didReceiveIncomingPushWith:for:completion:) is triggered. . Background/Terminated: No call to the above delegate method. . Using correct voip push type in the payload. . PushKit is configured in AppDelegate. . Background modes for "Voice over IP" and "Background Processing" are enabled. . Using a real device with iOS 18 for testing (not simulator). Any guidance or updated documentation references for handling VoIP pushes in iOS 18 would be greatly appreciated.
Replies
1
Boosts
0
Views
307
Activity
Aug ’25
Does UNNotificationRequest have a 64-notification scheduling limit?
Hi, We have a simple calendar reminder app that uses UNNotificationRequest to schedule local notifications for user events. I’m wondering whether UNNotificationRequest has a system-imposed limit of 64 upcoming scheduled notifications, similar to the deprecated UILocalNotification. We’re asking because one of our users is not receiving recently scheduled reminders. Our current workflow is: We schedule notifications on app launch and when the app is about to quit. Before scheduling, we call removeAllPendingNotificationRequests(). We then fetch the 64 nearest upcoming events and schedule them using UNUserNotificationCenter.current().add(...). This approach works fine during our testing, but we’re unsure what might be causing the issue for some users. Any insights would be appreciated. Thanks!
Replies
1
Boosts
0
Views
330
Activity
Jan ’26