You have only three main options to get push notifications working on iOS for a PWA. In both cases, you must register an App ID on Apple Developer portal, with permission to the appropriate service. For Option 1, your registered App ID must have permission to Apple Wallet. For options 2 and 3, you must have permission to Push Notifications. In both cases, you should record your Bundle ID and Team ID in case you need it later.

  • Option 1 (Easier): Use PassKit to set up a generic Apple Wallet pass, which can broker notifications that are very similar to native ones. Here's some documentation, and here's a working demo of how this can send push notifications to registered devices.

  • Option 2 (Harder): Use Firebase Cloud Messaging or a package like Node-APN to send push notifications the "proper" way, signed with a P12 or P8 key from the Apple Developer Portal. This gets tricky mainly because you need the iOS device identifier, which is only exposed to applications installed natively. I'm afraid I don't have an answer on how to get this device ID from within a PWA, and without it, this method doesn't work.

  • Option 3 (not a PWA): You can use an App ID with a provisioning profile and either a P12 or P8 key, similar to the previous option, but you wrap your application in Apache Cordova, and distribute it (either through the public app store, or using MDM software and via the private Apple Business Manager).

Those are your options. I have exhausted every possible avenue researching this, and I am confident that these will remain your only options through at least the next several months. It's possible we may see further support for Web Push or perhaps just a way to get the device ID from the web in the future, but until that time, this is it. There aren't any other ways to go about this presently.

Source: I architect and develop apps for major brands like Subway, Gartner, Morgan Stanley and PwC (among many others). My research is very recent, and includes direct communication with the head of WebKit at Apple, and also with one of the world's foremost PWA and iOS experts.

Answer from Crates on Stack Overflow
🌐
Mobiloud
mobiloud.com › blog › how to set up push notifications for your pwa (ios and android)
How to Set Up Push Notifications for Your PWA (iOS and Android)
So you may want to set up a prompt just for iPhone users that asks them to install your PWA (as iOS also doesn’t have an automatic install prompt for PWAs, as Android does). Once your service worker is installed, and you’ve logged permission from users to send push notifications, your service worker will need to “listen” for incoming push notifications.
Discussions

web applications - Sending Push Notifications to iOS from PWA - Stack Overflow
I've got a Progressive Web App which made with Blazor WebAssembly and I was wondering if I can send push notifications to iOS devices? Although people said if works now on Safari on MacOS, Push API's More on stackoverflow.com
🌐 stackoverflow.com
MacRumors PWA Web App with Push Notifications | MacRumors Forums
My pick notifications got set and I got a thank you notification. Click to expand... Have done twice and still no joy. I did wonder if my Safari content blockers were preventing the pop up but still nothing after I reload without them. It does however change what shows in preferences to this, instead of just a button to enable (which does nothing when I click on it). I’ve not been able to find where in iOS this setting is controlled though. ... The PWA works perfectly. (Thanks to all the push ... More on forums.macrumors.com
🌐 forums.macrumors.com
February 4, 2025
Push notifications PWA or iOS - Feature - Discourse Meta
is this a feature in discourse now? push taksbar notifications seem to work on microsoft edge but not on android. is there any integration with onesignal or similar for true push notifications on ios android etc for PWA? More on meta.discourse.org
🌐 meta.discourse.org
0
March 12, 2025
PWA IOS Notification "Notification Permission Denied"
Greetings! I’m working on PWA notifications, and while they work fine on PC (Chrome) and Android, they aren’t working on iPhones. I’m using iOS 17.6.1 and consistently getting the error: ‘Notification Permission Denied.’ I’ve tried this on at least three different devices with the ... More on community.weweb.io
🌐 community.weweb.io
0
October 1, 2024
🌐
MagicBell
magicbell.com › blog › best-practices-for-ios-pwa-push-notifications
4 Best Practices for iOS PWA Push Notifications
Discover best practices for creating effective iOS PWA push notifications, from messaging to frequency and more.
Top answer
1 of 6
159

You have only three main options to get push notifications working on iOS for a PWA. In both cases, you must register an App ID on Apple Developer portal, with permission to the appropriate service. For Option 1, your registered App ID must have permission to Apple Wallet. For options 2 and 3, you must have permission to Push Notifications. In both cases, you should record your Bundle ID and Team ID in case you need it later.

  • Option 1 (Easier): Use PassKit to set up a generic Apple Wallet pass, which can broker notifications that are very similar to native ones. Here's some documentation, and here's a working demo of how this can send push notifications to registered devices.

  • Option 2 (Harder): Use Firebase Cloud Messaging or a package like Node-APN to send push notifications the "proper" way, signed with a P12 or P8 key from the Apple Developer Portal. This gets tricky mainly because you need the iOS device identifier, which is only exposed to applications installed natively. I'm afraid I don't have an answer on how to get this device ID from within a PWA, and without it, this method doesn't work.

  • Option 3 (not a PWA): You can use an App ID with a provisioning profile and either a P12 or P8 key, similar to the previous option, but you wrap your application in Apache Cordova, and distribute it (either through the public app store, or using MDM software and via the private Apple Business Manager).

Those are your options. I have exhausted every possible avenue researching this, and I am confident that these will remain your only options through at least the next several months. It's possible we may see further support for Web Push or perhaps just a way to get the device ID from the web in the future, but until that time, this is it. There aren't any other ways to go about this presently.

Source: I architect and develop apps for major brands like Subway, Gartner, Morgan Stanley and PwC (among many others). My research is very recent, and includes direct communication with the head of WebKit at Apple, and also with one of the world's foremost PWA and iOS experts.

2 of 6
39

I just want to let you all know: Apple will support push notifications for web apps! This news was published at the WWDC2022. Apple will release Web Push with Safari 16 on macOS (Ventura) in a few months (2022) and for iOS and iPadOS in 2023.

See: https://webkit.org/blog/12945/meet-web-push/

🌐
OneSignal
documentation.onesignal.com › docs › en › web-push-for-ios
iOS web push setup - OneSignal
Reliability Considerations: Some ... where iOS web push notifications may work initially but then stop unexpectedly. Monitor your notification delivery rates and have fallback engagement strategies in place. ... If your website is already a Progressive Web App (PWA), no additional ...
🌐
Medium
medium.com › @gxgemini777 › complete-guide-to-implementing-background-push-notifications-in-pwas-d36340a06817
Complete Guide to Implementing Background Push Notifications in PWAs | by DHoper | Medium
May 21, 2024 - To implement background notifications for a PWA (Progressive Web App), even when the user has not opened the app, we need to use two main interfaces: the Notifications API and the Push API. Below is a brief introduction to these interfaces along with code snippets. Detailed registration and push operations will be explained later. Before starting, please note that iOS fully supports the Push API only from version 16.4 onwards.
Find elsewhere
🌐
MacRumors
forums.macrumors.com › macrumors community › site and forum feedback
MacRumors PWA Web App with Push Notifications | MacRumors Forums
February 4, 2025 - Hi, I know this is way behind the times. When Apple launched Web app support with Push Notifications with native iOS push notifications, we implemented this relatively quickly, but there were some idiosyncrasies about how it worked that made it a little frustrating to use. That has been fixed...
🌐
Pretius
pretius.com › home › pwa push notifications: how to do it using firebase cloud messaging?
PWA push notifications: How to do it using Firebase Cloud Messaging? - Pretius
July 14, 2025 - ADM only has SDK for native apps, so we also needed the possibility to connect via JavaScript to receive notifications on iOS. Finally, our last decision was to choose between Push API and usage of Google Firebase Cloud Messaging. Each had their pros and cons (outlined in the table below) Ultimately, our summary revealed two factors that made us choose GCP FCM as our push server: the ease of connecting to the native Android app, and the topics feature. After we decided to use FCM and implemented the first working receiver on three platforms (iOS PWA, Android PWA, and Android native), we started testing the visual capabilities of the push messages.
🌐
GitHub
github.com › andreinwald › webpush-ios-example
GitHub - andreinwald/webpush-ios-example: WebPush for IOS demo and code: VAPID, Home Screen, gcm_sender_id, serviceworker, iPhone, iPad
self.addEventListener('push', (event) => { let pushData = event.data.json(); // ... self.registration.showNotification(pushData.title, pushData) }); self.addEventListener('notificationclick', function (event) { clients.openWindow(event.notification.data.url) // ... // You can send fetch request to your analytics API fact that push was clicked }); ... const title = "Push title"; const options = { body: "Additional text with some description", icon: "https://andreinwald.github.io/webpush-ios-example/images/favicon.png", image: "https://upload.wikimedia.org/wikipedia/commons/thumb/6/68/Orange_tab
Starred by 107 users
Forked by 21 users
Languages   JavaScript 74.8% | HTML 25.2%
🌐
Iwritecodesometimes
iwritecodesometimes.net › 2024 › 04 › 23 › push-notifications-in-safari-progressive-web-apps
Push Notifications in Safari iOS Progressive Web Apps – I Write Code Sometimes
June 20, 2024 - That caveat loomed large, especially ... of iOS 16.1, which finally added push notification support. Despite some drama in early 2024 in the EU following approval of the Digital Markets Act (DMA), Safari (and browsers more broadly) continue to add features that blur the line between a fully native mobile experience and a rich web experience. So, while PWA’s still ...
🌐
Batch
doc.batch.com › developer › technical-guides › how-to-guides › web › how-to-integrate-batchs-snippet-using-google-tag-manager › how-do-i-enable-ios-web-push-notifications-on-my-pwa-website
How do I enable iOS Web Push notifications on my PWA website? | API & SDK Documentation | Batch Documentation
If configured, Batch Web SDK will show a UI component prompting you to subscribe to notifications. Subscribe, and you should see the iOS permission request. You're done! As the Safari Inspector is not available for installed PWAs, you will need to add a way (hidden button, secret tap sequence, etc...) to call the batchSDK('ui.showPublicIdentifiers') JavaScript method so that Batch displays the Installation ID needed to test your Web Push notification.
🌐
MagicBell
magicbell.com › blog › using-push-notifications-in-pwas
Using Push Notifications in PWAs: The Complete Guide
In other words, PWA push notifications synchronize data in the background, allowing you to send push notifications even if the user hasn’t opened the PWA in their browser. The downside? With the introduction of the EU’s Digital Markets Act (DMA), Apple removed home screen web apps for iOS users ...
🌐
Pushalert
pushalert.co › blog › pwa-push-notifications-ios-android
How to Add Web Push Notifications to your PWA on iOS and Android (The Easy Way) | PushAlert Blog
For testing you can install the PWA to your iOS or Android device and allow notification permission. Then head to the Send Notification section on the dashboard. Customize the title, message and URL for the notification. The notification will be delivered right to your device, and it will show ...
🌐
Truepush
truepush.com › blog › ios-pwa-push-notifications
A Guide to PWA Push Notifications and iOS PWA Push Notifications
November 6, 2023 - One of the challenges of implementing push notifications on PWAs is ensuring compatibility with different operating systems. Apple's iOS, in particular, has strict requirements for push notifications on web apps. Developers must ensure that their PWAs are appropriately registered, have the necessary permissions, and meet Apple's guidelines for user experience.
🌐
Discourse
meta.discourse.org › feature
Push notifications PWA or iOS - Feature - Discourse Meta
March 12, 2025 - is this a feature in discourse now? push taksbar notifications seem to work on microsoft edge but not on android. is there any integration with onesignal or similar for true push notifications on ios android etc for PWA? …
🌐
WeWeb Community
community.weweb.io › ask us anything
PWA IOS Notification "Notification Permission Denied" - Ask us anything - WeWeb Community
October 1, 2024 - Greetings! I’m working on PWA notifications, and while they work fine on PC (Chrome) and Android, they aren’t working on iPhones. I’m using iOS 17.6.1 and consistently getting the error: ‘Notification Permission Denied.’ I’ve tried this on at least three different devices with the ...
🌐
Next.js
nextjs.org › docs › app › guides › progressive-web-apps
Guides: PWAs | Next.js
August 21, 2025 - This will allow users to install your PWA on their home screen, providing a native app-like experience. You can use tools like favicon generators to create the different icon sets and place the generated files in your public/ folder. Web Push Notifications are supported with all modern browsers, including: iOS 16.4+ for applications installed to the home screen