This document is intended to guide GeneXus developers in the process of publishing (for the first time or update) their iOS applications to the Apple Store.

Prerequisites

  • First of all: you need a Mac computer to be able to compile and publish an iOS application.

During the publication process you will need to interact both with Apple Developer site and iTunes Connect site, and also with the Xcode project (generated by GeneXus) in the Mac.

Publishing steps

1. Test your application thoroughly

2. Choose the icon and images that you will use for the publication

2.1 Screenshots

You will need screenshots (at least one for iPhone and one for iPad):

iPhone

  • Image types: .jpeg, .jpg, .tif, .tiff, or .png 
  • Resolutions: 960x640, 960x600, 640x960 or 640x920 pixels at least 72 DPI, and in the RBG color space.

iPad

  • Image types: .jpeg, .jpg, .tif, .tiff, or .png
  • Resolutions: 1024x768, 1024x748, 768x1024, 768x1004, 2048x1536, 2048x1496, 1536x2048 or 1536x2008 pixels at least 72 DPI, and in the RGB color space.
2.2 Application Icon

You will need an application icon to be used on the App Store:

  • Image types: .jpeg, jpg, tif, tiff, or .png. It must be flat artwork without rounded corners.
  • Resolutions: 512 x 512 or 1024 x 1024 pixels, at least 72 DPI, in the RGB color space, and it cannot be scaled up.

3.  Install the Distribution certificate in your Mac (if not already installed)

This step is required once for each user account on Mac computer used for publishing, not for every application you want to publish.

Download the Distribution certificate from Apple Developer site (go to iOS Provisioning Portal -> Certificates -> Distribution tab). Once downloaded,  double click the .cer file in order to add the certificate to the Mac Keychain -this must be done with the user configured in the iOS Generator, for the certificate to be added to the login of that user.

Note: To access the iOS Provisioning Portal menu you must be logged in  (to do that go to iOS Dev Center and then Log in).

4. Create a new application in Apple Developer site 

Go to Apple Developer site -> iOS Provisioning Portal and create an AppId for your application (App IDs tab -> New App ID button). Provide the following information:

  • Description

E.g.: 'Evento GeneXus XXI'

  • Bundle Seed ID (App ID Prefix)

Select  'Use Team ID'

  • Bundle Identifier (App ID Suffix)

E.g.: com.genexus.EventoGXXXI

CreateAppID1
CreateAppID2
CreateAppID3

5. Create a Distribution Provisioning profile for the created App ID.

Go to Provisioning -> Distribution tab -> New Profile, and provide the following information:

  • Distribution Method

Select 'App Store'

  • Profile name

It can be any

  • App ID

Select the App ID created in step 4.

iOSNewDistributionProfile

6. Install the Distribution Provisioning profile in your Mac

Go to Distribution tab -> Download, and then double click the .mobileprovision file.

7. Generate application binaries

Open the application knowledge base with GeneXus, and configure the following properties:

SmartDevices generator properties -> iOS Specific

Execution Type: Build for Distribution (Local)

Dashboard properties -> Main object properties -> iOS

iOS Version Code & iOS Version Name: must have the same value, and they have to coincide with the app version created later in step 8.

iOS Bundle Identifier: it is the Bundle Identifier created in step 4.

Build the main object. The project is generated by GeneXus in your Mac. It is located in Documents/Projects/<gx_main_object_name>/<gx_main_object_name>. Open the project by double clicking the .xcodeproj file.

  • Go to Product -> Archive. (Build target must be set to "iOS Device" in order to option Archive be enabled).

A build will be performed to generate the archive file. After that, a message Build Succeded should be displayed, and the created archive should be showed in Organizer.

iOS Organizer archive

  • (Go back to Xcode) - Go to View -> Navigators -> Show Log Navigators

Check that no signing and validation warnings appear at the end of the log.

Verify that the application was signed using the Distribution certificate.

iOS View Log

Note: If you get a warning because UserControls folder doesn´t exist in the same location as the Xcode project create it and go to Product and Archive again.

8. Publish

At this point you are ready to upload the application to App Store. Go to iTunes Connect site, log in using your Developer account, and go to Manage Your Applications.

  • If you are creating a new application

Click Add New App button to access a wizard to create a new application. See here for detailed information.

  • If you are updating an existing application

Click on your application icon. The detail information will be displayed. Click Add Version button. The information needed is:

  • Version number

Must be the same as main object property iOS Version Name (see step 7 above).

  • What's New in this Version

Details on what had changed in the new new version. More information here.

Go back to the Xcode project in your Mac.

  • Select Organizer in Xcode project (Window -> Organizer)
  • Select the archive file generated in step 7
  • Click the Validate button (It takes several minutes and no feedback is given in the mean time (it may appear that the application is not responding)
    • Log in with Developer account
    • Select the application version created in previous steps
      In the Application combobox select the version. The Identity combobox should display a Distribution profile.
    • Click Next button

      A success message must be displayed. Otherwise an error list shows up.

To successfully perform the validation process, the application state must be 'Waiting for upload' in iTunes Connect site.

  • Click the Submit button in Organizer.

Be sure the validation was successful. Select your application and upload the binaries.

9. Application approval

At this time your new or updated application was submitted to the Apple Store for approval. There is little you can do but wait for news from Apple. Good luck!

Additional information

About Your First App Store Submission

Distributing Applications

App Store Distribution

Videos

Start Video Prototyping and Executing