iOS PWA: Build and App Store Publication Guide

This guide walks through building an iOS-capable PWA, packaging it for the App Store with PWA Builder, and handling common OAuth needs.

  1. Prepare a web manifest

  2. Create an Apple App ID

    • Go to Apple Developer portal → Certificates, Identifiers & Profiles
    • Create a new Identifier (App ID)
  3. Prepare your site for PWA Builder

    • When the application is ready, open PWA Builder (web or desktop)
    • Paste your website URL in the field to analyze PWA readiness PWA Builder Signing Options with Keystore data
  4. Build the iOS package

    • After the checks complete, choose “Package for store”
    • Select the iOS platform
  5. Configure app properties

    • Set all app metadata (name, icons, display mode, etc.) as prompted PWA Builder Signing Options with Keystore data
  6. Bundle ID

    • Use the Bundle ID value from the App ID you created in step 2
  7. Configure OAuth domains (important for sign-in)

    • Most apps use OAuth 2.0; define permitted URLs in PWA Builder
    • For Apple Sign in: add appleid.apple.com
    • Google auth is not fully supported for iOS (per PWA Builder), but you can try adding:
      • accounts.google.com
      • oauth2.googleapis.com
      • accounts.youtube.com
  8. Install CocoaPods dependencies

    • Download and extract the iOS archive
    • Open src in Terminal and run: pod install
  9. Open the project in Xcode

    • Go to src and open the .xcworkspace
    • Log in to Xcode with your Apple ID
    • Signing & Capabilities: enable “Automatically manage signing” and select your team (e.g., “better integration”)
    • General tab: set your custom values (version, build, display name, etc.)
    • Replace app assets with your own. You can generate icons at https://icon.kitchen
  10. Enable Google auth navigation (if needed)

    • Continuing step 7: open the WebView file
    • Set config.limitsNavigationsToAppBoundDomains = false
  11. Archive and distribute

    • Product → Archive, then Distribute your archive
  12. Submit via App Store Connect

    • Create a new app, fill in all required fields
    • In the Build section, select the archived build you uploaded
    • Submit for review

Notes

  • Apple login should work with the allowed domain. Google sign-in may still have limitations on iOS PWAs; the above domain list and WebView setting improve the chances.
  • Validate your PWA’s manifest, icons, and service worker before packaging to reduce store rejection risk.
  • Android PWA: Build and Publication Guide