Publishing an Ionic app involves building web assets, configuring native projects, and submitting to app stores.

Production Web Build

  ionic build --prod
  

Output goes to www/ or dist/. Sync to native projects:

  npx cap sync
  

App Icons and Splash Screens

Use @capacitor/assets to generate all required sizes:

  npm install @capacitor/assets --save-dev
npx capacitor-assets generate
  

Place source files in assets/:

  • icon.png — 1024×1024 app icon
  • splash.png — 2732×2732 splash screen

Configure App Identity

Edit capacitor.config.ts:

  const config: CapacitorConfig = {
    appId: 'com.example.myapp',
    appName: 'My App',
    webDir: 'dist',
};
  

Update bundle IDs in Xcode (iOS) and build.gradle (Android) to match.

iOS Build

  1. Open the project: npx cap open ios
  2. Set signing team in Xcode → Signing & Capabilities
  3. Select Product → Archive
  4. Upload to App Store Connect via Xcode Organizer
  5. Submit for review in App Store Connect

Requirements: Apple Developer account ($99/year), macOS, Xcode.

Android Build

  1. Open the project: npx cap open android
  2. Generate a signing key:
  keytool -genkey -v -keystore my-release-key.keystore -alias my-key -keyalg RSA -keysize 2048 -validity 10000
  
  1. Configure signing in android/app/build.gradle
  2. Build release APK/AAB:
  cd android
./gradlew bundleRelease
  
  1. Upload the .aab file to Google Play Console

Web / PWA Deployment

Deploy the web build to any static host:

  ionic build
# Deploy dist/ to Netlify, Vercel, Firebase Hosting, etc.
  

Add a service worker for offline support with @angular/pwa or Workbox.

Version Management

Bump version before each release:

  // package.json
{ "version": "1.2.0" }
  

Also update versionCode (Android) and CFBundleShortVersionString (iOS).

Pre-Launch Checklist

  • Test on real iOS and Android devices
  • Verify all Capacitor plugins work in production builds
  • Add privacy policy URL (required by both stores)
  • Prepare store screenshots and descriptions
  • Test deep links and push notifications if used
  • Enable ProGuard/R8 minification for Android release builds

Continuous Updates

For over-the-air web content updates (without store review), consider Capgo or Ionic Appflow — but native plugin changes always require a new store build.

Congratulations — your Ionic app is ready for users on iOS, Android, and the web.