Thought I would share my experience releasing a web app to the Apple App Store using Capacitor.

They asked a bunch of questions and wanted a couple small tweaks, but the stickler was the following issue:

Guideline 4.2 - Design - Minimum Functionality

Your app provides a limited user experience as it is not sufficiently different from a mobile browsing experience. As such, the experience it provides is similar to the general experience of using Safari. Including iOS features such as push notifications, Core Location, and sharing do not provide a robust enough experience to be appropriate for the App Store.

Next Steps

To resolve this issue, please revise your app to provide a more robust user experience by including additional native iOS functionality.

If you cannot - or choose not to - revise your app to be in compliance with the App Store Review Guidelines, you may wish to build an HTML5 web app instead. You can distribute web apps directly on your web site; the App Store does not accept or distribute web apps. For more information about creating web apps, refer to the Configuring Web Applications section of the Safari Web Content Guide. For a description of the HTML elements and attributes you can use in Safari on iPhone, check out Safari HTML Reference: Introduction. Please see attached screenshots for details.

Luckily, I was able to address this by adding a companion watch app. ChatGPT helped a lot (I know nothing re watchOS or SwiftUI) but it went pretty smoothly and only took a couple days for a basic MVP that syncs login state with the main app (with a custom Capacitor plugin for managing state).

The Watch app is here: https://github.com/aeharding/voyager/tree/main/ios/App/VoyagerWatch Watch App

Looking back, it was quite stressful, especially before the Watch app was built.

Has anyone else released a web app to the Apple App Store? What issues did you run into, if any, and how did you address them?