6 ms·
Apple has a rule forbidding this exact thing. If you get lucky and get a lenient app reviewer, you might be able to sneak a PWA onto the App Store this way, bu
by dfabulich 5y ago
Apple has a rule forbidding this exact thing.
If you get lucky and get a lenient app reviewer, you might be able to sneak a PWA onto the App Store this way, but even if you do get approved, you're just as likely to get rejected when submitting a bug fix or compatibility update. (This has happened to me a number of times before.)
> 4.2 Minimum Functionality
> Your app should include features, content, and UI that elevate it beyond a repackaged website. If your app is not particularly useful, unique, or “app-like,” it doesn’t belong on the App Store. If your App doesn’t provide some sort of lasting entertainment value or adequate utility, it may not be accepted. Apps that are simply a song or movie should be submitted to the iTunes Store. Apps that are simply a book or game guide should be submitted to the Apple Books Store.
> 4.2.2 Other than catalogs, apps shouldn’t primarily be marketing materials, advertisements, web clippings, content aggregators, or a collection of links.
A "web clipping" is Apple's way of referring to a web site zipped up in a WebView, and that's what rule 4.2.2 explicitly forbids.
Apple has rejected a bunch of PWAs wrapped up in WebViews like this over the years, and when they do, they're normally rejected under 4.2.2. Apple doesn't always notice, but they notice just often enough to make this an unacceptable risk for any app you actually care about.
IMO the big mistake PWA Builder is making here is that (per OP blog post) they do not offer any "iOS-specific integrations."
> Our template doesn’t include support for iOS-specific functionality like Apple Pay, Sign In with Apple, HealthKit, etc.
Those iOS-specific integrations are the only thing that would make these PWAs allowable under rule 4.2. I have gotten PWA games approved by pointing out that they support Game Center, for example.
Overall, I think PWA Builder is off to a good start, but they need a lot more work to be viable.
- reificator 5y agoThis seems easy to solve given Apple's rejection of PWA support in Safari, just add a feature that doesn't matter much, like an (opt-in!) notification on updates. Safari (and therefore all browsers) on iOS don't support notifications, so you're doing something you couldn't do from the website. https://caniuse.com/?search=notifications https://caniuse.com/?search=notifications
- aaaaaaaaaaab 5y agoUmmm… yeah, no. The AppStore review operates on a spirit-of-the-law basis, instead of the letter-of-the-law.
- dmitriid 5y ago> This seems easy to solve given Apple's rejection of PWA support in Safari There's no such thing as PWA or PWA support. It's several dozen different standards of varying quality and usefulness. And people randomly chose arbitrary selections of those standards and claim that this selection is a true PWA support. Thank god Safari doesn't allow notifications and it should continue not allowing them.
- littlecranky67 5y agoI can actually understand Apples decision here to not allow push notifications on PWAs and would support it for now. I have two smartphones and am a dual user of iOS and Android. The issue with Android apps is the constant stream of unwanted/advertising notifications. Yes, you can configure them for each app and disable notification categories, but I just don't want to mess with that for each and every app (and their Updates which might change categories). Apple's Appstore rules forbid push-notification for marketing/advertising, and I get way less useless notifications by default on iOS. On Android, I often get notifications from major Appmakers in the sort of "We haven't seen you for a while, checkout what you miss in our App!" or "There is a competition in our App, take part and win a free XXX). Yes, you can disable notifications as a whole for an App, but that would also disable those notification that I want to receive and are essential. If you would allow PWAs installed from outside the Appstore to send push-notifications, major 3rd party app makers would abuse that as means to "increase engagement" (their marketing lingo for spam) with their users.
- aaaaaaaaaaab 5y agoGod, that sounds awful! Do Android users really put up with this kind of crap?
- nathancahill 5y agoI mean, that's on the developer to actually build the PWA that does those things right? If you build an "app" as a PWA, there's no reason it shouldn't be approved? If you simply wrap a website these rules would apply. There's nothing here that bans PWAs as I read it.
- dfabulich 5y agoYeah, well, tell that to the App Store reviewers who rejected my games. Their argument basically went like this: Your app is clearly a web clipping. It's just your web site wrapped up as an app. We can see your web site, it works fine, and this app adds no additional value to the web site. You need to add features to your app--iOS-specific features--to make it worthy of being in the App Store. I think it's fair to say that you can interpret rule 4.2 (and especially 4.2.2, which doesn't define a "web clipping" in the guidelines) in a few different ways, and that the "strict" App Store reviewers I faced were being perfectly reasonable in their interpretation of rule 4.2. (To be clear, I think rule 4.2 is not a good rule, but I think the individual reviewers I spoke with were making a reasonable attempt to interpret rule 4.2.) The "strict" interpretation is reasonable, but your interpretation (which I would call a "lax" interpretation) is also reasonable. You could say "well, if the web site is app-like--if the app has good, useful features--then it has more than minimal functionality and is worthy of being in the store." Both interpretations make sense. The problem occurs when you stake your deployment strategy on the hope that you don't get a hardline App Store reviewer, and now, all of a sudden, you can't push bug fixes or compatibility updates to your iOS app, and your users are pissed.
- yesimahuman 5y agoThis is one reason I really hope they end up adopting Capacitor for the iOS and Android output. Capacitor has all those iOS-specific integrations that enable an app to be accepted into the stores, and they'd get all of that for free but could still keep the core PWA-to-native experience the way they want.
- brundolf 5y agoThe above sounds like it's trying to prevent you from wrapping up purely informational websites, like that for a specific wedding, or a brochure or something (analogous to "simply a song or a movie" vs a general music or movies app). Of course I'm sure individual reviewers will interpret it differently. But I don't think the "spirit of the law" is at odds with PWA Builder.
- dfabulich 5y agoI think the "spirit of the law" is that the app you submit must "be an iOS app." If you implement the whole thing in Swift, then it's definitely an iOS app. But if your app is a "repackaged website" (which the rules explicitly forbid), then your app is not a "real" iOS app. Furthermore, I think the motivating assumption behind the rule is that "repackaged websites" are different than (and worse than) "real" iOS apps. Thus, if your iOS app is a repackaged website, then it's not good enough for the App Store. But I just don't share that belief. It turns out that websites can be pretty good nowadays! A "repackaged website" can just as good as an iOS app implemented in Swift. Still, good luck convincing an App Store reviewer of any of that! As long as your app is, literally, a repackaged website, I really can't imagine how you'd argue your way out of a rejection. In the long run, you're guaranteed to be rejected at some point if you're repackaging a website, and at that point, you're basically screwed.
- dahfizz 5y ago> I think the motivating assumption behind the rule is that "repackaged websites" are different than (and worse than) "real" iOS apps. The rule reads > If your app is not particularly useful, unique, or “app-like,” it doesn’t belong on the App Store. It's not necessarily that a website is worse than an app, but it's the fact that a website is not an app (even if you give it a name like PWA). Not an app --> doesn't belong on the app store.
- adam12 5y ago> Overall, I think PWA Builder is off to a good start, but they need a lot more work to be viable. I disagree. Apple needs to improve their support for PWAs, so that PWABuilder becomes obsolete.
- srcreigh 5y agoThis is tantamount to giving away their App Store revenue cut... so probably won't happen
- scarface74 5y agoYou mean the App Store revenue that they already don’t get from free apps? The typical non game application is mostly just a front end to services where there is no money being directly charged through the website/app anyway. It came out in the Epic Trial that 70-80% of App Store revenue comes from games. Those would never be PWAs anyway.
- toastal 5y agoThe biggest companies and most performance sensitive application would still be built native. My biggest concern is how a CRUD app from a small company has no way to release a proper PWA on iOS with its handicapped support. With one of my current contract, we have 2 people coding and ended up having to create a separate iOS app because there is no Notification support. We abandoned our proof-of-concept PWA because we had like 10% Android users and putting in the maintenance effort was not worth it. Without Android support, after a few months all Android users decided to ‘upgrade’ their phones to iOS devices. Is the the future we want? Do we want to be forced into walled gardens and implicitly guiding users into it? If your team is small should you be forced into one specific platform or should your mostly-CRUD app be viably built for a cross-platform solution like PWAs which covers the major platforms and the niche ones like Linux phones.
- scarface74 5y agoAs opposed to being forced to use web apps? Every website without fail that ever wanted me to allow push notifications did it just so they could spam me. Do I want a future with crummy PWAs instead of applications when appropriate? I want that about as much as I want Electron apps.
- fulafel 5y ago> Your app should include features, content, and UI that elevate it beyond a repackaged website. Isn't this just a definition that agrees with useful PWAs? Offline support using service workers and client side storage, notifications, mobile first ui, etc.