Alex's Notes

CM3050 Topic 10: Deployment

Main Info

Description

In this module, we learn what it takes to export an expo app and the possibilities of further development

Key Reading

Apple

App Store Guidelines

Code Signing

Android

Play Store Guidelines

Code Signing

Expo

Building Apps

Lecture Summaries

Not a requirement to submit your app to the app store for the project, but it’s important to know.

10.1 Code Signing

Code signing is an important part of creating a distributable app. At the heart of it is the means for identifying an app as being created by a specific developer. Holds the developer accountable.

Verifies that the bundle has not been altered since signing. Allows users to place trust in recognised developers.

Apple and google require you to sign your app with a certificate they provide themselves.

The model looks like this:

First you sign the app with your signature, then sent to Apple. Then they remove your signature and sign it themselves.

The signature runs off public key encryption. Developer encrypts a hashed version of their app with their private key. If the decoded hash matches the text of the source code, it’s all good.

10.2 Exporting From Expo

Expo builds app bundles in the cloud, not on your local machine (deprecated that).

You’ll need a free expo account, and a Google/Android dev account for code signing.

Fill in your app.json. Pay attention to:

bundleIdentifier in iOS - use reverse DNS ie domain.subdomain.subdomain com.<company>.app this is not visible to a user but is a unique, unchangeable identifier behind the scenes.

package is the equivalent for Android.

version is what you need to increment for each submission.

To build run expo build:android or expo build:ios, it will also run expo publish in the background. You can set up different release channels.

When you’re done you will get a link to the downloadable bundle.

Then you can upload to the Google Play store on the online dashboard.

For IOS you need the Transporter app on a mac to deliver the bundle to Apple for review.

Links to this note