Universal App Deployment
Use this flow for Android and iOS release delivery. Universal app deployment is driven by WEBVIEW_CONFIG in config/config.json, so treat configuration accuracy as part of the release process.
Android Release Flow
- Set
WEBVIEW_CONFIG.android.buildTypetorelease. - Add a valid
keystoreConfigwith real signing values. - Run
catalyst build. - Run
npm run buildApp:android. - Upload the generated
.aabfromdeployment/to Google Play.
Android release mode is controlled by WEBVIEW_CONFIG.android.buildType, not by a separate :release command.
Required Android release fields:
keyAliasstorePasswordkeyPasswordorganizationInfo.companyNameorganizationInfo.cityorganizationInfo.stateorganizationInfo.countryCode
iOS Release Flow
- Deploy the production web application over HTTPS.
- Finalize
WEBVIEW_CONFIG, the bundle identifier, version, build number, capabilities, and app assets. - Run
npm run buildApp:iosfrom the consuming Catalyst app. - Open the generated
iosnativeWebView.xcodeprojand configure Release signing. - Archive the
iosnativeWebViewscheme with a generic iOS device destination. - Validate and upload the archive through Xcode.
- Complete TestFlight testing and the App Store Connect release.
npm run buildApp:ios prepares the package-owned Xcode project and performs a Debug native build. It does not create the App Store archive. The production artifact is created by the scheme's Release Archive action in Xcode. This flow is the same for Catalyst 0.2.x and 0.3.x.
See Building and Releasing a Catalyst iOS App for the complete release procedure and checklist.
What to Validate Before Release
- API host and environment values
LOCAL_IP,port, and access-control rules for the target environment- app version and build number
- deep links and route handling
- offline and cache behavior
- runtime permissions (camera/files/notifications)
- store metadata, signing, and bundle identifiers