npm install
npm install -g @ionic/cli
ionic serve
- Note that the clipboard feature is currently not available in browser.
To run all tests roughly similarly to how CI does:
npm run ci
Note that background-ing inside the npm
task stopped working on CircleCI with the move to WebdriverIO 9
'BiDi' runner and latest libraries, so the actual CI job now has its steps broken into individual steps with
the app start using background
. This also gives more legible output.
We currently run:
- Angular tests – largely component / unit tests – via Karma
- Webdriver.io e2e tests with Chromium, using CircleCI browser base and supporting orb in CI.
- Set new
versionCode
andversionName
in android/app/build.gradle ionic capacitor build android --prod
- If first build, in Android Studio choose Build > Select Build Variant... and choose
release
. - In Android Studio, go to _Build > Generate Signed Bundle / APK...
- Choose to make an Android App Bundle and use your keystore
- Upload the signed
app-release.aab
in Google Play Console
- Set new
CURRENT_PROJECT_VERSION
andMARKETING_VERSION
in ios/App/App.xcodeproj/project.pbxproj ionic capacitor build ios --prod
- Open
ios/App/App.xcworkspace
in Xcode, or let Capacitor do this for you - Change target at the top to Any iOS Device (arm64)
- Product > Archive
- Distribute App from the Organizer dialogue.
In addition to the Ionic-standard Capacitor plugins and Clipboard (for copying passwords), we need to build with Cordova in order to get the Cloud Settings plugin.
There is an additional Cordova dependency of that plugin, cordova-plugin-file
. If you have
not done a settings restore, the Android build seems to work fine without the Files & Media
permission which this plugin presumably adds as an option (at least on Android 11) – but
there might be a need for the permission if you do restore settings, so we have not made
efforts to override the permission request from the plugin.
Icon and splash screen shouldn't need regenerating on each build. But if they change (in resources/
), run:
npm run resources