with
Native apps are released to 'app stores'
An app store is a platform specific store where end users go to discover, install and update apps.
The release process for each platform is different
Cordova & Ionic provide help with some parts, meaning you only need to run one piece of code for all platforms
Other parts of the process must be performed manually, once for each platform.
For each platform, there are some common pieces of metadata:
Cordova & Ionic provide a way to enter this metadata in one place.
Name
Description
Author
App Icon
App ID
Version
Use `config.xml` to change the following:
App ID
Version Number
Name
Description
Author
<widget
id="com.ionicframework.climaticapp890065"
version="0.0.1">
<name>climatic-app</name>
<description>
An Ionic Framework and Cordova project.
</description>
<author email="you@example.com">
Your Name Here
</author>
</widget>
From a single image, Ionic can generate app icons and splashscreen images in each different format, for each platform.
Each platform requires a large number of different-sized icons and splashscreen images to support all different devices.
Run command to generate all icons and splashscreens:
Use Ionic photoshop files, create icon and splashscreen
$ ionic resources
Build release version of app
Generate signing key
First release:
Sign apk
Create app on Play store
Upload apk
Live!
Build release version of app
Updates:
Sign apk
Create update on Play store
Upload apk
Live!
Update version in config.xml
Full walkthrough:
Don't lose your key!
You won't be able to submit updates.
Link Mac with Developer Account
Download signing certificates
First release (warning, faff alert...)
Register App ID in developer console
Create App listing in iTunes
Build app with Ionic CLI
...
Archive release in Xcode
Upload release to app store
First release (cont...)
Complete iTunes listing
Wait several days for approval
Live! (phew)
Build app with Ionic CLI
Archive release in Xcode
Updated release
Add app update in iTunes
Wait several days for approval
Live!
Update version number in config.xml
Upload release
Full walkthrough:
It can seem like a faff,
but it gets easier with each release!