How to Sign and Publish your App

Last Updated On June 13, 2020
You are here:

The publishing of an app it’s a very important and delicate process: it’s required an active Play Store account (25$ for ever) and App Store (99$/year), some rules to be followed to make the app accepted and some steps to make it works.

We are not responsible for rejection of apps for reasons not correlated with the original code of the app, please follow our guide and not try to customise by yourself the code, n which case we will not be able to help you.

If you don’t have a Play Store or App Store accounts please contact us.

Please if you are not an expert on mobile apps, consider to get help form us with our Publishing Service.

Follow the Ionic guide to publish and sign your apps:


Please follow this guide: iOS App Store, read the Xcode part, in particular the “build the app” section.
Then: Open the .xcworkspace file in ./platforms/ios/ to start Xcode or import it directly on Xcode.

Please, take care: dont confuse .xcodeproj with .xcodeworkspace. The first one is not the right one to be opened on Xcode. If you open it, the pod file will be not present.

Enable “Automatically manage signing” for both Debug and Release

Notice: In case the “signing (Release) automatically” return an error, disable the automatically signing and activate it back, it is a known bug of Safari that will be fixed soon, this will lead to an error-free signing.

After generating correct certificates, there are options to either have XCode automatically manage certificates or manually manage them. It’s suggested to let XCode automatically manage certificates. This will make sure that the correct Development and Distribution certs are used, based on the build type selected.

“Bundle identifier” must be your project domain

With this option selected, select Archive from the Product > Archive menu (Top menu). This will build a version of the app that is ready for distribution in the app stores. After the archive has been created, the Xcode Organizer is opened.

Xcode Organizer displays a list with builds of the current app.
Pick the last build and click ‘Upload to App Store’.
There should be a place to select the team followed by some more information on the app and an “Upload” button to click.

Click on Validate App and then, when it is finished, on Distribute App

If you have problems with the validation please update Xcode to the latest version.

Screen shown after the Validate App button click

In the Distribute App window choose: “App Store Connect” and then “Upload”.

If the upload ended successfully, Apple will send you a confirmation email. Then the app should be listed on Itunes Connect website and listed in ‘Activities’. From there, TestFlight can be enabled for beta testing, or the App can be sent for approval.

Then what you have to do is to click on “+ Version or platform” Button and choose the uploaded build.

Click on “+” button after “Build” title and choose the last app version. Then add new features description. Save and send to Apple review.


You can follow the Ionic Android Guide or our one (it’s a subset of the Ionic Guide):

Sign the app with this command:

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore HelloWorld-release-unsigned.apk alias_name

The zip align tool must be run to optimize the APK. The zipalign tool can be found in /path/to/Android/sdk/build-tools/VERSION/zipalign

If you can’t find it on Windows try with this guide, on MacOS with Android Studio installed can be found here: ~/Library/Android/sdk/build-tools/VERSION/zipalign.

This generates a final release binary called .apk that can be accepted into the Google Play Store.

To start, visit the Google Play Store Developer Console and create a new developer account. Once a developer account has been created, go ahead and click the Create an Application. Be sure to fill out the description for the app along with providing screenshots and additional info. When ready, upload the signed release APK that was generated and publish the app.

Leave a Reply

Your email address will not be published. Required fields are marked *