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
🌐
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/

Discussions

Need Help: Push Notifications for IOS
I recently had to implement push notifications on a PWA and had to support IOS: a) On IOS, the notification permission request must be triggered by an explicit user action (like a button click). Make sure you are requesting the permission in response to a user action b) Notifications can only be requested when running as a PWA, make sure you added the app to the home screen first c) I believe notifications are only supported on IOS 16.5 and above. Make sure you are running on a supported version of IOS More on reddit.com
🌐 r/PWA
18
9
April 9, 2024
iOS 16.4 FINALLY allowing PWA push notifications
Not sure which category to push this in. Apple is finally allowing this! Starting in iOS 16.4, web apps saved to the home screen can now use push notifications. The web app cannot automatically force a push notification request message, the user has to interact with the app (for example, a ... More on community.glideapps.com
🌐 community.glideapps.com
1
9
February 16, 2023
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
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
🌐
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.
🌐
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 ...
Find elsewhere
🌐
Monogram
monogram.io › blog › notifications-from-ios-and-ipados-pwas
iOS & iPadOS PWA Notifications | Monogram
May 1, 2024 - This article will guide you through the process of integrating iOS push notifications into your PWA.
🌐
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 ...
🌐
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
WebPush is Progressive Web App(PWA) feature so you need to ask user to enable PWA mode first. On iOs devices it can be made with button "Add to Home Screen" in browser. Also don't forget to set display mode in manifest.json!
Starred by 107 users
Forked by 21 users
Languages   JavaScript 74.8% | HTML 25.2%
🌐
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...
🌐
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 ...
🌐
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 ...
🌐
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? …
🌐
Answer Overflow
answeroverflow.com › m › 1338504701301227531
Push notifications PWA on iOS - Novu
November 15, 2024 - Can you share the issue you are facing on ios? ... Hello @Pawan Jain , I work with Gaia on the same project. Some context: we're using Firebase as push provider, we created a project with a web app inside. on our FE we handle both foreground and background notifications; we can successfully see and consume both of them on almost every OS and browser, PWA included, except for iOS.
🌐
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
🌐
Pwabuilder
docs.pwabuilder.com
PWABuilder Suite Documentation - test
Documentation for building great progressive web apps with the PWABuilder tooling suite.