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.
- 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.
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.
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.
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).
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:
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
Go to Provisioning -> Distribution tab -> New Profile, and provide the following information:
Select 'App Store'
It can be any
Select the App ID created in step 4.
Go to Distribution tab -> Download, and then double click the .mobileprovision file.
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.
- (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.
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.
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:
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)
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.
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!
About Your First App Store Submission
Distributing Applications
App Store Distribution
Prototyping and Executing