A few tips to get mobile app build configuration right.
Mobile app native build configuration is exposed as part of app settings
1. Keystore Generation
Use keytool utility available with Java (JDK) is used to generate the keystore needed for signing your Android app. keytool is typically be available in your path, it provides a very quick way to generate a public/private key pair and store them in keystore. Here is link to detailed keytool documentation.
Below is the screenshot of cmd line used to generate a keystore for my sample application for your reference:
2. Build Profile Configuration
Configure the keystore values from the above as part of the Android build configuration as shown below. You can also select a specific profile as the default if you have more than one configuration. General recommendation is to have separate build profiles for development and production purposes.
iOS configuration requires following guidelines from Apple to generate the provisioning profile and the certificate required for generating the IPA file. You would need a Apple Developer account to generate the above.
There are two flavors of Apple Developer accounts you could use for this purpose :
1. Standard Apple Developer Program : This is required for distributing your application via Apple AppStore.
2. Enterprise Developer Program : This allows companies to distribute apps to employees without going through the AppStore. If you are planning to build apps targeted for employees of your company this program is better suited than the standard developer program as you don't have to go through the Apple review to distribute your app. More details about the enterprise program are available here.
Generating .p12 file:
A very nice step by step instructions video from Josh Morony here for creating p12 file on windows. If you are using a Mac you could create this a bit more easily following the instructions from Apple. Here is nice article I found useful for generating p12 file on Mac. Upload the p12 file to the Certificate field in the screen shot shown below. Enter the same password used while generating the p12 file in the Certificate password field.
Provisioning Profile Variants:
Development provisioning profile:
Typically used when running locally on a phone plugged in to your computer. This allows debugger access. A development provisioning profile allows apps signed by you to run on your registered devices.
In-House Distribution Provisioning Profile:
If you want to develop and distribute apps privately within your company or to a selected number of end users, you can use a provisioning profile for in-house distribution. It's available only when using Apple Enterprise Program
AppStore Provisioning Profile :
This Distribution Provisioning Profile is available for the Apple Developer Program, allows you to generate a release version of your mobile app that can be published and distributed through the App Store.
This allows you to generate a release version of your mobile app that can only be used in a limited list of devices. Use this profile to distribute your application to a limited group of end-users. Only the devices specified for the provisioning profile will be able install and launch the app. Often used when sending out to testers.
Configuring Provisioning Profile:
Upload the provisioning profile file in to the Provisioning Profile and in the Signing identity field enter the Common Name of the certificate. This is a bit tricky to get right and I have seen a lot of people getting this wrong. We are working on improving this but in the mean time follow these steps:
1. Install the certificate (p12 file) on your mac by double clicking it
2. It opens in the key chain app
3. Copy the Common Name as shown in the screenshot below
Build Configuration Screen