Required build assets and settings

This guide covers the required build assets and settings when packaging your app for delivery as a binary package with AppGyver Composer.

You can access the Build Service via the Launch tab in the global toolbar.

iOS-only settings

To build iOS apps, you need to enrol in the Apple Developer Program.

The Apple Developer portal at https://developer.apple.com/account will then let you generate and configure many of the required assets, namely distribution certificate, bundle identifier and provisioning profile.

Distribution certificate

Your Apple distribution certificate and the private key used to generate it, exported together as a P12 file. See here for step-by-step instructions.

Distribution certificate password

The password set when the distribution certificate P12 file was created.

Note that you must set a password; a P12 file without a password will not work!

Display name

This is the name for your app shown under the app icon in the device home screen, as well as in settings and other places.

Bundle identifier

The unique bundle identifier for your app. It will be in the reverse domain format (e.g. com.appgyver.myapp.production and must match the bundle identifier registered in the Apple Developer portal.

Version

Internal version code for the current build.

Short version

Semantic version number for the current build, e.g. 1.0.0.

Provisioning profile for App Store

An App Store provisioning profile generated for the app in Apple Developer portal. Must match the Bundle identifier.

Android-only settings

Keystore file

The keystore file is used to securely and uniquely sign your app binary, so that e.g. other apps can't pretend to be an update for your app. For example, submitting an update to Google Play requires that the new app binary has been signed with the same keystore file as the original build.

To generate a keystore file, the easiest way is to use the Java keytool – run the following command in your Terminal or Command Prompt (replacing my-app-name appropriately).

keytool -genkey -v -keystore my-app-name.keystore -alias my-app-name -keyalg RSA -keysize 2048 -validity 10000

You then need to input a password required to use the keystore. The owner, city etc. data are not necessary, but you can fill them in if you want. You ca enter a separate password for the alias, but that's not necessary either. In Composer on the Keystore tab, you have the following fields:

  • Keystore file – your my-app-name.keystore file is uploaded here

  • Keystore password – enter the password you gave when generating the keystore

  • Keystore alias – enter the keystore alias (my-app-name in the above example)

  • Keystore alias password – unless you set a separate alias password, this is the same as Keystore password

Package identifier

This setting defines the unique package identifier for your binary APK package. It must be in reverse domain format, e.g. com.appgyver.myapp.production.

Display name

This is the name for your app shown under the app icon in the device home screen, as well as in settings and other places.

Version code

Internal version code for the app, given as an integer, e.g. 10000. When you publish an update to your app in Google Play, its version code must be higher than previous version codes.

Version name

Semantic version name for the current build, e.g. 1.0.0. Shown in device settings and other places.

Image assets

App icon

The app icon is shown on the device's home screen, in different parts of the operating system and in App Store/Google Play.

You can read more about app icons in Apple's App Icon documentation and Google Play icon design specifications

Launch screen

The launch screen (sometimes called splashscreen) is a full-screen image that appears immediately when your app starts up. It is Apple's intention that the launch screen helps make your app feel fast and responsive. As such, it should represent static parts of your app's initial UI, so that when the app actually launches, the transition will be seamless.

That said, many apps show a logo or similar on the launch screen.

Composer only supports static PNG images for the launch screen. This means a separate image is required for all supported screen sizes.

You can read more about the launch screen and view a list of required screen sizes in Apple's Launch Screen documentation and Google's Material Design launch screen documentation.

Plugins

Currently, you need to manually select the plugins that your flow functions and view components might use. The required base plugins for a new app are included by default, but currently other plugins must be added manually, and unfortunately it is not always 100% clear which flow function or view component utilizes which plugin.

This is something we are working on to make automatic based on what you use in your app. Our apologies for the inconvenience. If you need hands-on guidance to ensure your app has just the right plugins, drop us a mail at contact@appgyver.com with your app ID and we'll give you a hand.

Plugins need to be selected separately for iOS and Android.

Permissions

Currently, you need to manually select the permissions your app might require. Unfortunately, it might not always be 100% clear what permissions each flow function or view component requires to work properly.

This is something we are working on to make automatic based on what you use in your app. Our apologies for the inconvenience. If you need hands-on guidance to ensure your app has just the right permissions, drop us a mail at contact@appgyver.com with your app ID and we'll give you a hand.