Heavy context: As a backend/data engineer, I have no mobile/web dev experience whatsoever. I'm working on a project that I may want have as an app to share with other people. I've read in numerous places that if I were going to monetize it, I should develop for iOS as Apple users are more likely to pay for apps than Android users. This would require that I obtain a Mac, which I'm not opposed to doing per se, but if I can keep my current laptop while I build this out, then that would be preferred. This is where a PWA would be involved, as far as I know.
In 2024/2025, would it be better to develop a mobile and a web app separately, thereby learning Swift, or should I look to build a PWA using another framework/language and test the installation that way?
I may not be the person building this out per se, as I have a small team of people who'd work on this with me, but I'd like to be able to suggest a steady direction to go in.
It's just 2 of us developing this PWA. We need it to be able to function offline and use an internal database. It's a pretty simple app as a whole - a simple search function that allows users to record and then retrieve basic data and images(currently handled as blobs). It syncs offline changes when internet is accecible again.
Works great on everything except Apple products - where it will function like 80% of the time. WebKit just decides it can't and will crash - and often a few refreshes will make it will work again.
The app is essentially a service we are trying to provide per client specific request - it wouldn't make sense for this to really be on any app store. Basically we already have a small but very strong network of clients that have expressed and interest in having an app like this....and we would set up a separate/cloned version of our PWA to each clients specific (but all similar) needs.
Is there any hope that our PWA could be as stable on IOS as it is on Androids? The internal database seems to be where the main issues lie - WebKit either successfully builds it or it doesn't.
Does anyone have any insight beyond Apple just hates PWAs? Anyone make a PWA with success that has similar functions? Or is someone willing to take a peak at our code and see if there are ways to try and work around these problems?
We are young devs that are really excited to have a small market opportunity where something we make would be very practically used. And it's just frustrating when it works so well on every other platform.
Ask any questions you need or message for specifics on the app.
I appreciate any help already - and thanks for even just reading my venting.
Videos
Hey all, I'm considering going fully on React and use PWA for both iOS and Android.
It seems Android makes it a bit easier, do you happen to know by any chance the pitfalls of using PWA on iOS? Specifically in these areas:
- User installation.
- Notifications.
- Geolocation.
Any insight is appreciated
Hello, I recently discovered that the iOS 26.1 public beta breaks the full-screen rendering of PWAs. It seems to ignore all the meta tags and manifest, placing no matter what the PWA behind the status bar, which appears to have its own independent life.
I did some tests and there is not a single predictable behaviour now:
#1 apple.com added as PWA
The page lacks meta tags for translucent status bar or any other PWA-related tags, except for the `viewport` tag. The content scrolls behind the status bar, which has a default translucent black background (it’s not a layer inside the page). As soon as you open the menu or do something the status bar become solid background and the content strop scrolling behind it, again without any meta tags, and even if you erase the whole page dom.
# 2 Meta tags
Using the classic meta tags now seems to break the page, the status bar is translucent but the content doesn't go behind it (and all the `safe-area-inset-*` are 0px).
<meta name="viewport" content="width=device-width,initial-scale=1,viewport-fit=cover" /> <meta name="mobile-web-app-capable" content="yes" /> <meta name="apple-mobile-web-app-capable" content="yes" /> <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
I tested removing the tags and the behaviour is the same with or without them.
Do you have some test to confirm it's broken?
EDIT
It appears the same behaviour is occurring on Android phones for months. After some investigation, it seems Apple aligned its behaviour in iOS 26.1 according to a somewhat undefined standard.
The main issue they’re “solving” (or avoiding) is caused by cutout screens where users don’t want to see the black hole on their PWA/favourites. There was an option on Android to allow PWA behind the cutout but was removed a few months ago and now it’s no longer possible to place PWA under the status bar or cutouts. This is also the case on iOS 26.1 for Dynamic Island, but Apple also added dynamic colouring (while android just puts a black band behind) based on the content page which doesn’t work very well. My conclusion is that both are achieving the same level of compliance although Apple’s solution is buggy. I hope they revert this change but I suppose we’ll have to deal with it. Honestly, PWA feels like a third-class citizen even on Android now.
EDIT 2
Updating to the 26.2 beta resolves the issue but some meta tags like theme-color are still ignored.
Hi all, long time reader first time poster. I updated my iPhone to the latest iOS a few weeks ago, and I have to say… I am beyond frustrated at the way Apple treats web apps. And yeah, it’s the App Store % they want to take off the top, I know.
I’ve leaned hard into the new Focus modes on iOS, I deleted my old default Home Screen that had every app installed on my phone on a single screen organized into folders and I’ve replaced them with task specific home screens with only a handful of apps and widgets. If I want to find anything else I either use search or go to the far right App Library screen… and herein is exactly my gripe. Neither search or the library screen will show you your own freaking PWAs!
Has anyone found a clever way around this? I guess I’m just supposed to keep a folder of them on any screen I might need them?
On the other side, I’m also a front end web dev and I’ve made a few PWAs myself. They do stuff like simple inventory management for my garage, a stupid photo app, just small one of projects mostly for fun. And to come back to the cost issue… I know Apple wants me to buy into their garden and release a “real app,” but I’m certainly NOT learning Swift so I can scan QR codes and see a list of what’s in a Tupperware box in my garage. It makes me less likely to try to convert the web interface into a phone experience at all if anything.
Anyways, rant over, I was just wondering if anyone else in a similar situation wanted to commiserate.
I’ve been diving deep into Progressive Web Apps (PWAs) lately, and the more I explore, the more I’m convinced that Apple’s half-hearted support for PWAs on iOS isn’t due to oversight or technical limitations—it’s a deliberate strategy to steer users toward native App Store apps. Here’s why I think Apple is intentionally holding back PWAs to protect their 15-30% cut from in-app purchases and keep developers locked into their ecosystem.
The PWA Problem on iOS
PWAs are a game-changer for cross-platform apps. They’re fast, lightweight, and don’t require App Store approval, which means developers can bypass Apple’s strict guidelines and revenue-sharing model. But on iOS, PWAs feel like a second-class citizen compared to native apps. Safari’s limitations and Apple’s slow adoption of PWA features scream intentional sabotage rather than negligence. Let’s break it down:
Push Notifications Are Half-Baked: Apple finally added Web Push API support in iOS 16.4 (2023), but it’s clunky. You need to add the PWA to the Home Screen to even enable notifications, and they’re less reliable than native push notifications. Even in 2025, iPadOS still lags behind with limited support. If Apple wanted PWAs to shine, they could’ve implemented seamless push notifications years ago, like Android did. Instead, they’ve dragged their feet, making PWAs feel like an afterthought.
Adding PWAs to the Home Screen Is a Hassle: Installing a PWA on iOS requires users to navigate to Safari, hit the “Share” button, and select “Add to Home Screen.” It’s not intuitive, especially for non-tech-savvy users. Compare that to Android, where Chrome prompts you to install a PWA with a single tap. Apple could easily add a prominent “Install” button or auto-prompt for PWAs, but they don’t. Why? Because a smoother PWA experience might reduce the number of users downloading native apps from the App Store.
No Autoplay for Video or Music: Safari restricts autoplay for videos and music in PWAs, treating them like regular web pages rather than apps. This kills the seamless experience for apps like music players or TikTok-like feeds, where autoplay is a core feature. Native apps don’t face this restriction, giving them a clear edge. Apple’s excuse might be “user experience,” but it feels like a calculated move to make PWAs less appealing for media-heavy apps.
Transparent Status Bar and Landscape Lock Issues: Older iOS versions allowed PWAs to use a transparent status bar for a full-screen, app-like feel, but recent updates have broken this functionality. Similarly, locking a PWA in landscape mode is a no-go, unlike native apps that can control orientation effortlessly. These are small but critical details that make PWAs feel less polished on iOS, pushing developers to go native.
Storage Limits and Other Restrictions: Features like Bluetooth, NFC, or advanced camera APIs? Forget about it. Safari treats PWAs like websites, not apps, limiting access to hardware and native-like capabilities. Meanwhile, native apps have near-unlimited access to iOS features. Coincidence? I doubt it. Even if it is added to the desktop, it still has restrictions regarding landscape lock, when you simply want it to be in portrait mode or landscape, and I suspect that Android will also allow you such an option, but on the iPhone you can forget about this.
Why Apple Wants to Limit PWAs
The motive is clear: money and control. The App Store is a cash cow, with Apple taking a 15-30% cut of in-app purchases and subscriptions. PWAs let developers bypass this by using their own payment systems (like crypto or Stripe) and avoid Apple’s approval process, which can reject apps for things like “gambling-like” mechanics. By keeping PWAs less functional and harder to use, Apple nudges users toward native apps where they can enforce their rules and rake in profits.
The Bigger Picture
Apple’s approach isn’t just about revenue—it’s about ecosystem lock-in. If PWAs worked as smoothly as native apps, developers could build once for web, iOS, and Android, reducing reliance on Apple’s tools like Xcode and the App Store. This would weaken Apple’s grip on the app market. By making PWAs feel like a watered-down experience, they ensure users and developers stay within their walled garden.
What Can We Do?
Raise Awareness: Call out Apple’s tactics on platforms like Reddit and push for better PWA support.
Support PWA-Friendly Browsers: While Safari dominates iOS, browsers like Firefox or Chrome could push Apple to improve PWA support through competition (though iOS forces all browsers to use WebKit, which limits their flexibility).
Optimize PWAs for iOS: Developers can work around some limitations using tools like Next.js with next-pwa or Vite with vite-plugin-pwa, but it’s an uphill battle.
What do you think? Is Apple intentionally kneecapping PWAs to protect their App Store profits, or is it just slow progress? Have you run into similar frustrations with PWAs on iOS?
At my company we are thinking about making a pwa, instead of an Android + iOS app. This way we only need to maintain one client and we can push updates faster.
On iOS you can't request a user to install a pwa app and instead we need to present instructions on how to do that.
Now this might not be the best user experience, but our clients are not random visitors, so they might be a bit more willing to look past that.
Our main goal is to have an app for both iOS and Android, while sharing as much code as possible and sending push notifications to our clients. Offline functionally is not a requirement
Now I'm wondering if pwa is really the right choice and if anyone is willing to share their recent experience with pwa on iOS.
Progressive Web Apps (PWA) have been around for a few years now, and their benefits have been widely discussed. But many are still not utilizing it. Why not?
Has support stopped sucking on iOS? That was a big factor when I last considered dabbling with them
My team makes PWAs when the clients spec is that they want an app on mobile that works offline, plus a website, but they want us to build it cheap.
The problems with PWAs are: most users don't know how to install them from their browser, so it ends up being a more expensive website; and you can add them to the Android app store, but not the Apple store, which means you can't be found by new users.
Does anyone have the answer on the current status of PWA's on Ios and the viability of being added to the app store?
I looked at this quite a while back and at that time it wasn't possible.
i read this page https://www.koombea.com/blog/progressive-web-apps-for-ios/ which mentioned there are restrictions on features.
What are the requirments for getting a PWA in the app store?
As the heading of this post may be a bit misleading, so let me explain the problem in details here -
The same site that allows PWA version of website to be installed from browser (Chrome/Edge) on Windows, doesn’t seem to offer the same option on iOS in Safari.
Example: cnn.com
Is this an expected behaviour?
Thanks in advance
From twitter post:
“Finally, iOS treats all browsers equally when it comes to PWAs. Previously, only Safari was able to install and run PWA apps. With iOS 17.4 beta in the EU, no browser can install PWA apps, even Safari. It seems PWAs have been disabled entirely.
Oh yes, when you set a third-party browser as the default browser and then you delete it, iOS sets Safari as the default browser.”
Hi guys ,
Just trying to understand if would be possible and how to develop a PWA and publish on iOS app store
I saw many materials online saying thats possible but nowhere is described how to do that step by step
Now in in a stage that i build an web app for my website and now i need to convert this to PWA and upload to iOS so my customers to be able to download the app from there
Heard the fact that i have to build a HYbrid app for that but not sure if is the right choice
Any idea ?
Thanks
Hey all, I'm considering going fully on React and use PWA for both iOS and Android.
It seems Android makes it a bit easier, do you happen to know by any chance the pitfalls of using PWA on iOS? Specifically in these areas:
- User installation.
- Notifications.
- Geolocation.
Any insight is appreciated
To install users just need to add it to their home screen. Notifications are supported if they add it to their Home Screen. GPS is supported. There is a 50 MB limit I think for web apps, but I’m not sure entirely.
In my experience, it’s fairly functional, but it’s limited by WebKit.
Also, note that your PWAs won’t be installable by anyone in Europe right now because Apple is being petty over the DMA.
Edit: Apple walked back on that decision, so ignore the second part
A while back, during the early days of the ios16 beta, there was talk that safari on iOS would finally implement some ore of the core standards that has been missing for PWA support like, web push notifications, and a smother experience with better performance. Is this true? has things gotten better?
Hey guys! This is my final attempt to find a solution for this, I have asked every single LLM on this planet but every single one of them keeps saying the same things, and I just can't get it to work.
Right now I'm working on a PWA (progressive web app) with next.js, because I can't be bothered to go through the review process on the App Store just for an MVP, so I decided to do a pwa instead.
The problem is that for some reason when I go through the "installation" process, so Share -> Add to Home Screen, the icon of the "app" is just a default grey "S", not the icon I have created.
Here are the things I have already tried:
- Created multiple sizes of the icons (180x180, 120x120, 512x512, 1024x1024 etc)
- created a manifest.json file, but according to a lot of sources that doesn't do anything
- since I'm using the latest next.js I used the metadata api to put things into the head part of the website, where under the icons I have added an apple section with an array of all the icon sizes I have created
- I have deleted the cache on safari numerous times
- I have restarted my phone numerous times
- I have created a head.js, but again, a lot of sources said that it's good a lot of sources said that it's bad.
- I have renamed the files 4-5 times already
- I have created service worker, but I have heard that it doesn't make a difference, just on android.
I have found multiple sources that you only need to just put the <link rel= apple-touch-icon...> into the head part, but there is no traditional head part in next.js rather the metadata api and I'm confused (I don't have that much experience)
when I go to the site I can see the link in the head part of the html, but for some reason it's like it doesn't want to look at it.
also when I just search for the icon in the browser it shows it, so there is nothing wrong with the image itself.
one thing I'm considering doing is putting the icons into the public folder. does that do anything?
I know many people say that doing a pwa on iOS is bad, but I didn't think that this would be this bad, but I don't want to give up.