App Store Guide

The scope of this article are the technical aspects and the required steps to publish your own App for innovaphone myApps App Platform on the innovaphone App Store.

Table of Contents

An overview of required steps.
App-ID, Texts and Icons
App Store related metadata.
App Binaries
App binary files.
Local App Store Instance
Local developer App Store instance required for deployment.
App Entry in the Local App Store
App Entry in the local App Store.
Publish a new Version of the App
Publishing of a new version of the binary files.
Notify innovaphone 3rd-Party Team
Notification request for App Review and Publishing.
Troubleshooting hints.


In order to successfully publish an App a number of necessary preparation requirements must be fulfilled:

In the course of this article, we will take a closer look at the individual steps.

App-ID, Texts and Icons

This chapter covers various settings that are relevant for an App Store entry.


As a unique identifier of your app in the innovaphone App Store an App-ID must be defined. The App-ID must contain a manufacturer name followed by the app name, separated by a dash, e.g.: company-application

The App-ID is also used in the folder structure of a web server to point the App Store to the relevant files of the App.

The App-ID is also used in the naming scheme of the license of the App.


An App Store entry contains various text fields that must be filled with relevant information:


Despite the icons used in the App itself for the myApps UI, an additional icon for the App Store is required. This icon must have a resolution of 110x110 pixels and be in PNG format.

App Binaries

The binaries of the Apps have the following properties, which are relevant in connection with the publication on the App Store and are defined at the compilation time:

App Project Name

We recommend to use preferably short, lowercase strings as name for the Visual Studio project, while creating an App from template. This string will be used later in URLs and in the folder structure of the App Store related web server, so it should contain only URL-safe characters.

Instead using a space in the name, consider to use a dash and eliminate any other non-alphanumeric characters.

For example, instead of using Fancy App as project name, consider to use fancy-app or even better fancyapp

Build Number

The build number should be an incrementing integer number. This number will be used in the file structure of the App Store. To avoid increasing the number of digits in the build number, we recommend to start from higher numbers like 1000.

For every consecutive version of the App, that should be released, a larger build number should be used.

Release State Label

The Release State Label is a human readable label of a version, that can be identified by a user and should be unique in the domain of a major SDK release version.

E.g. a release state label hotfix3 in V13r2 represents a third hotfix for the App, that was build for V13r2 App Platform

Target Platform and SDK Version

The binaries should be built using current service release of the innovaphone SDK V13r2 with following platforms as targets for the build:

This will make sure, the App can be used on all types of AP capable innovaphone Gateways and Virtual Appliances.

Building the App Binaries for the Release

In contrast to the development builds via Visual Studio (Build solution) the binaries for the release on the App Store should have set correct values for the buid number and a release state label.

The Visual Studio project created from a template in the innovaphone SDK contains a batch script build-release.bat that can be used to build the App binaries with specific build numbers and release state labels for all platforms.

For example, to build release binaries from an App demoapp with the build number 1002 and release state label sr2 use following command:

C:\projects\demoapp\demoapp>build-release.bat 1002 sr2

Execute the script from the command line in the project folder. The resulting builds will be placed in the project folder, in the corresponding platform subfolders (arm, arm64, x86_64).

It is recommended to perform Clear solution in the Visual Studio before running the script.

Binaries for JavaScript Runtime based Apps

In a special case of a JavaScript Runtime based App a so called generic binary (same for all JavaScript Runtime Apps) is supplemented by a custom ZIP file ( with a JavaScript implementation of the App. For the JavaScript Runtime based App Service the generic App binaries from the current service release should be used. This can be achieved by installing SDK from the current Service Release.

The JavaScript Runtime binaries that are used to build a JavaScript Runtime App are located in the sub-folder jse of the Visual Studio Project.

In order to update a JavaScript Runtime version, download the current JavaScript Runtime App from the innovaphone App Store and place the binaries into the jse of your project (replace older binaries).

Debug Files

While building a binary, a separate .debug file for GDP is created. This file is useful to analyse the crash dumps, to be able to attach a debugger and see the exception and the stack trace.

However, debug files enables easier reverse engineering of your binaries. Please consider it, while deciding to deliver debug files with binaries, or not.

Local App Store Instance

To be able to prepare an App Store Entry for the App a local App Store instance is required. Before setting up an App Store instance

This chapter provides a detailed description of a process of setting up a local App Store. In case a local App Store is already running or a hosted App Store is used, the current chapter can be skipped.

Prepare Local Web Server

The App Store relies on an HTTP server which should be reachable from the App Store instance via HTTP, in order the files for the App can be fetched into the App Store instance.

A following folder structure is expected by the Store App:


The file tree with essential folders:

+-- build-number
|   +--app_files-file
|   +-- platform-folder
|       +-- sub-folder
|           +-- binary-files

The file tree of the app folder should look like this:

+-- 1001
|   +-- demoapp_files
|   +-- arm
|       +-- demoapp
|           +-- demoapp
|           +-- demoapp.png
|           +-- demoapp.debug
|   +-- arm64
|       +-- demoapp
|           +-- demoapp
|           +-- demoapp.png
|           +-- demoapp.debug
|   +-- x86_64
|       +-- demoapp
|           +-- demoapp
|           +-- demoapp.png
|           +-- demoapp.debug
+-- 1002
|   +-- demoapp_files
|   +-- arm
|       +-- demoapp
|           +-- demoapp
|           +-- demoapp.png
|           +-- new-app.debug

For example the icon file should be reachable via following URL:

The file app_files contains a comma separated list of binary files of the App. This is the

For example (notice no spaces between the filenames):


Setup Local App Store

start an app store instance

When an empty Apps screen appears the App Store is ready to be equipped with your app.

App Entry in the Local App Store

In this example an App with the App-ID innovaphone-demoapp is used.

To add a new App Store entry click on plus (+) symbol in the right top corner of the App Store App. The Add new app window will appear.

In the Edit App window provide the corresponding settings for the App:

Add an App Entry

Click on the Confirm button in the upper right corner of the Add new app window. In case values for Release, Build and Label was provided, the App Store App will fetch the files for the release from the web server (if not, ignore the error message).

After the app files are transferred you should see the app entry in the App Store:

Add an App Entry

Try to install the app from your app store and check if it is installed correctly. The corresponding App screen of an installed App in the AP Manager should show correct information about version of the App (sdk-version, build number, release state label):

Add an App Entry

Publish a new Version of the App

The new versions of a released App can be added to an app entry in the App Store App by placing the App files in the corresponding folder on the web server (see chapter Prepare Local Web Server).

The subsequent releases of the App must have higher build numbers, than previous releases (e.g. 1000, 1001, 1005, etc).

To upload a new build click on Update button in the upper right corner of the App Store App:

Update Notification

In the Add new official build window tick on the app, that will be released, and provide values for Release, Build and Label:

Update Notification

To fetch the new version from the web server click on Upload button.

The upload will start and will take few minutes, dependig on number of files and their size:

Update Notification

After upload is finished you should be able to see new version of the App below the App Entry:

Update Notification

Only the latest version is displayed. To see older versions, click on the arrow button in the lower right corner of the App Entry.

Notify innovaphone 3rd-Party Team

After you have tested your App Release using your own App Store and your App Platform a notification to must be sent in order innovaphone Team can review and publish your App on the official innovaphone App Store.

Prior publishing a new App on the innovaphone App Store, innovaphone team take the app throug an App Review process to make sure, the App itself and the App Entry in the App Store meets the minimal technical requirements for publishing.


Missing app files

Make sure in every build folder a demoapp_files file exists and contains all the files, that should be released. Usually it should contain at lease binary file of the app, icon file, debug file and (for JS Runtime apps).

App Store can not locate files even if they are on the web server

The Path URL of the App Entry should not contain a trailing slash (e.g. is incorrect).

Build number and release label are incorrect

Before building the App for release make sure to run Cleanup Solution in the Visual Studio.