How do I Submit an iOS App to the App Store?

This lesson describes how to submit a LiveCode application to the App Store. Screen captures are provided.

Introduction

iOS applications can be uploaded to the App Store using Transporter app. This lesson describes how to configure LiveCode to build your application for release and use Transporter to load your application to the App Store.

In versions of Xcode before Xcode 11 the Application Loader was used to upload to the App Store.

Building your LiveCode Application

Build your LiveCode application as a standalone and ensure that Icons and Splash images are provided. You also need to ensure that the Internal App ID matches the one you already set up when you were preparing your application for submission using App Store Connect. The other settings are very much application dependent and need to be set as required.

To create your Standalone Application choose File -> Save As Standalone Application and choose where to save the standalone.

Convert to .ipa

You need to convert your file to .ipa format and zip it for submission. You can do this using the Terminal or the Mac GUI.

Using the Terminal

1. Locate your standalone. If it is located in your Desktop folder, you should see something like:

Desktop/myApp/myApp.app

2. Open a terminal and navigate to your Desktop folder by typing this:

cd ~/Desktop

3. From the terminal, rename the "myApp" folder to "Payload" by typing:

mv myApp Payload

5. From the terminal, zip the "Payload" folder and rename it to "Payload.ipa" by typing:

zip -r Payload.ipa Payload

Using the Mac GUI

1. Locate the folder containing your standalone.

2. Rename the containing folder to 'Payload'.

3. Zip the Payload folder.

4. Rename 'Payload.zip' to 'Payload.ipa'.

Logging into Transporter

Open Transporter, you should find it in Applications. You need your App Store Connect login information to proceed,

Choosing Your Application

Once you successfully logged into Transporter, you can add the IPA file you prepared for upload.

Verifying the Application Information

You can see the basic app information and choose to Verify the app build befor delivering.

If there are any issues they will be reported here and you can resolve them before delivering the app.

Delivering the Application

The next step is to Deliver the app. Click the Deliver button.

Upload Confirmation

Once the upload is successful the Transporter status will change to 'Delivered'. You can  open the Log, view the app in App Store Connect or remove the app from Transporter.

46 Comments

Mike

LiveCode does not create a .zip file as mentioned above. You must first compress the standalone created by LiveCode using the File->Compress menu option in the Finder. You cannot use any other compression program, such as Stuffit. This drove me crazy for a good 2 days until I finally sent my problem into Apple and discovered this. If you do not use the Finder compression option to create the .zip, your submission will be rejected as a bad binary file.

Daniel Shapiro

I keep getting an error:

Application failed code sign verification. The sig was invalid, contains disallowed entitlements, or it was not signed with an iPHone Distribution Certificate.

Seems quite a few people are having this issue. Any help on this?

Hanson Schmidt-Cornelius

Hi Daniel,

there could be a number of reasons for this, but my first guess would be that the wrong Profile is selected in the Standalone Application Settings. Ensure that you have selected the Distribution Certificate that matches the application you are building for release.

Also have a look at this lesson to find out how to set up a Distribution Profile for app distribution:

http://lessons.runrev.com/s/lessons/m/4069/l/32957

Kind Regards,

Hanson

mori

thanks Hanson

1. Where do I mention i don't want glossy in my icon - in ITC it is glossy although i didn't say (but also didn’t say otherwise since I don’t know where_

2. There is a different between the name I want in the app store and the name I want on the device screen below the icon (after download the app)- so, where do I state that name?

Thanks a lot for the guides!!!! Really helpful

Hanson Schmidt-Cornelius

Hi Mori,

you can turn the reflective shine off by selecting the "Prerendered Icon" tick box in the Standalone Application Settings for the iOS app you wish to submit.

Use the "Display Name" in the Standalone Application Settings to set the name that appears with the icon.

The name in the App Store is probably set in iTunes Connect. Try setting the "App Name".

The following lesson may help: http://lessons.runrev.com/s/lessons/m/4069/l/33065-how-do-i-set-up-an-app-for-submission-to-itunes-connect

Kind Regards,

Hanson

Allen

Hi Runrev,
Im getting an error that reads
"An error occurred uploading to the iTunes Store"
I previously got a different error saying my certificates and version numbers didnt match, so I am not sure what direction to take in debugging.
Thanks for your help!

Hanson Schmidt-Cornelius

Hi Allen,

the steps outlined here are an outline of the actions that are needed to submit an app to the app store, with focus on applications developed in LiveCode. The submission process has many stages to it and it is possible that problems are introduced at any stage.

I recommend reviewing the iOS instructions on how to submit applications to the store, as the submission process is regulated by apple. They provide more information on problems that occur and what to do about them.

You should be able to access the relevant portal by following this link: developer.apple.com/iphone‎

Kind Regards,

Hanson

Tom Johnson

I was on iTunesConnect updating some apps and I notices something. The App Store ICON, the 1024 x 1024 one, is now supposed to be added to the build in xCode. Do we now need a place for this in the iOS standalone settings along with the other ICONs.?

Is this still a relevant process:
Compress/Zip the LC standalone .app
Rename the zip file myApplicationName.ipa

So now with xCode 9 do we need to add the App Store ICON to the zip file?

Elanor Buchanan

Hi Tom

I have added a bug report about getting this option added, thanks for bringing this to our attention.

http://quality.livecode.com/show_bug.cgi?id=20858

Kind regards

Elanor

Krishna

Hi,
We have Apple Developer Enterprise account, Is it possible to distribute the app via App Store?

Heather Laine

Reading Apple's information, I think you also need a Developer account to submit to the App Store. The Enterprise program seems only to be for in-house distribution. For the definitive answer I would recommend you check in with Apple however.

Roger Mepham

Just managed to get a new app version uploaded (awaiting approval). Here's are the notes I made for myself. As usual I seem to just fumble around until it comes together, IOS app store submission seems sooo hard :-)

Updating IOS App

1. Add a new version in App Store Connect: https://appstoreconnect.apple.com. Note you will need a Privacy Policy available online.


2. You may need to make a new unique password at appleid: https://appleid.apple.com/ (for screen ratio it was 
iamp-ilup-eudm-ujyn) you use this log into the application loader.


3. Create a standalone app in LiveCode, note you need to increment the version number (from step 1.) plus build number AND select a distribution profile (not a provisioning profile) previously created on the developer portal - note as well you need a 1024x1024 app icon in addition to all the other assets.


4. Rename the enclosing folder of the app to “Payload”, compress the folder and rename to “application.ipa”.


5. Launch the Application Loader (Xcode -> Open Developer Tool -> Application Loader) - use the unique password from 2. above (think you need to log in with your appleId and password first??).


6. Click “Deliver you app” and choose the application.ipa from step 4.


7. Once uploaded without errors go back to the App Store Connect.


8. The new version will now be available to select from the + button in step 1. on the new version page (about halfway down.

Cheng

Above step says "Note: The Waiting For Upload has to be set in iTunes Connect before you can upload an application.". What is the meaning for this? Thanks

Elanor Buchanan

Hi Cheng

This is the status that is shown when all the required data has been set for the app in iTunes Connect so the record is complete and ready for an app to be uploaded.

This might be slightly out of date now. We'll double check and update the lesson if necessary.

Kind regards

Elanor

Matind

How to submit a game to mobile? I can't seem to find it for some reason.

Heather Laine

if its an iOS app, then you need to follow all the instructions for building and submitting an iOS app. If it is for Android, then you need to check lessons on building an Android app and submitting to the Google Play store.

Volkler Brands

Hallo
Mein Englisch ist leider niocht so gut. Also schreibe ich in deutsch. Ich hoffe es ist kein Problem.
Wenn ich meinen Application.ipa Datei mit Xcode Application Loader übermittle, kommt immer folgender fehler:
ERROR ITMS-90174:"Missing Provisioning Profile - Apps must contain a provisioning profile in a file named embedded.mobileprovision."
Obwohl die Datei in Application.ipa vorhanden ist.
Ich weiß keine Lösung.
können Sie mir helfen?
Gruß Volker

Gee Starox

For the steps in terminal to convert .app to .ipa is there a short script I could write to do this quickly instead of continuously copying and pasting from this website?

Matthias Rebbe

Not, that i am aware of.
But you could create a little stack, which will do the work for you using the shell() function.

Trevix

While I think that this page should be updated, I followed the instruction for loading with Transporter, after creating the IPA file ("application.ipa"). I got this error from Transporter: "The IPA is invalid. It does not include a Payload directory."

trevix

OK: I did it on the desktop and it worked (Byzantine)

Trevix

Andrew Henshaw

I have a problem submitting a build created with LC9.6.1. Transporter reports the 1024 icon is missing, checking the .app file this does appear to be the case. Is this an RC1 error, should I go back to 9.6.0? Thanks

Elanor Buchanan

Hi Andrew

I tried to recreate this issue and I was able to successfully upload an app built with 9.6.1(rc 1) via Transporter. Are you using the same icon file you did with 9.6? Could you let us know what versions of Mac OS X, LiveCode and Xcode you are using so we can look into this further.

Thank you.

Elanor

Evan

"You also need to ensure that the Internal App ID matches the one you already set up when you were preparing your application for submission using iTunes Connect."

May I know how do I prepare my application for submission using iTunes Connect?

Elanor Buchanan

Hi Evan

The best place to find this is in the Apple Developer Documentation as this is up to date. I suggest taking a look at

https://developer.apple.com/support/app-store-connect/

You might also find our lessons of setting up provisioning profiles and iOS development useful.

http://lessons.livecode.com/m/4069/l/565715-how-do-i-become-an-ios-developer
http://lessons.livecode.com/m/4069/l/308242-how-do-i-create-a-development-profile-for-ios
http://lessons.livecode.com/m/4069/l/32957-how-do-i-create-a-distribution-profile-for-ios

I hope that helps.

Elanor

Evan

Hi Elanor, thank you for the reply.

for the following url: https://developer.apple.com/support/app-store-connect/

It tells me to use application loader, may I check if it is outdated and now we are supposed to use transporter instead?

Elanor Buchanan

Hi Evan

Yes we need to get this lesson updated so show the Transporter too but as per the note in the lesson starting from Xcode 11.x Transporter must be used. It is a pretty similar process. You still need to create the .ipa file in the same way then use Transporter to upload it.

I hope that helps.

Elanor

Evan

Hi, thanks for the replies. I would like to just check if my workflow for uploading a mobile application coded using LiveCode is correct.

1. Sign up for Apple Developer Program

2. Set up distribution profile ( http://lessons.livecode.com/m/4069/l/32957-how-do-i-create-a-distribution-profile-for-ios )

3. Upload app via transporter (http://lessons.livecode.com/m/4069/l/33064-how-do-i-submit-an-ios-app-to-the-app-store)

Elanor Buchanan

Hi Evan,

Yes that sounds just about right. I would add a step before uploading the app via Transporter

"Set up the app in iTunes Connect" (http://lessons.livecode.com/m/4069/l/33065-how-do-i-set-up-an-app-for-submission-to-itunes-connect)

You will need to do this before uploading the app for the first time. You can find more detail at https://developer.apple.com/support/app-store-connect/ as the screenshots in that lesson are a bit out of date.

I assume you have Xcode installed and connected in your LiveCode Preferences. If not that will need to be step 1.

I hope that helps.

Kind regards

Elanor

Evan

Hi Elanor,

Thank you for your reply. On the web, I read that apps are uploaded via App Store Connect, may I know if we use Itunes Connect or App Store Connect?

May I know more about the step of XCode connecting to LiveCode and why it is necessary? This is because I coded the mobile app using LiveCode.

Heather Laine

App Store Connect is now correct. You have to use Xcode to do the final packaging of your LiveCode app so that it can be accepted by Apple and run on their devices. Likewise you need to use the Android SDK to package and run on Android devices.

Evan

Hi everyone. Thanks for the help! I am currently waiting for my Apple Developer Program enrollment to complete. In the meantime I have consolidated the steps to uploading an iOS app coded using LiveCode to the AppStore. Please correct me if I am wrong and so that future users can see this comment as well.

1. Sign up for Apple Developer Program

2. Connect XCode in LiveCode Preferences (Do you need to have a iOS device to do so?)

3. Set up distribution profile ( http://lessons.livecode.com/m/4069/l/32957-how-do-i-create-a-distribution-profile-for-ios )

4. Set up the app in App Store Connect (http://lessons.livecode.com/m/4069/l/33065-how-do-i-set-up-an-app-for-submission-to-itunes-connect) & (https://developer.apple.com/support/app-store-connect/)

5. Upload app via transporter (http://lessons.livecode.com/m/4069/l/33064-how-do-i-submit-an-ios-app-to-the-app-store)

Elanor Buchanan

Hi Evan

I'm glad we could help and thanks for adding this comment. You don't need an iOS device for step 2.

For testing you can use the iOS simulator that is included with Xcode but it is probably best to have your app tested on a physical device before releasing, if you can.

Kind regards

Elanor

Evan

Hi Elanor

Thank you for your kind words. May I check if i must use the latest version of xcode? Because I am using LiveCode 9.6.0 which is stable on the website and is only compatible with Xcode 10.1.

Can Livecode deploy the app to a physical iphone device? Under LiveCode 9.6.0 preferences I have already connected XCode 10.1 via Mobile support.

May I know what other steps I could do before waiting for my apple developer program enrollment?

Elanor Buchanan

Hi Evan

The version of Xcode you need to use will depend on your MacOS X version, we have a full list of LiveCode/Xcode/MacOS X compatibilities here.

https://livecode.com/docs/9-5-0/faq/faq/

LiveCode can deploy the app to a physical device but you will need a provisioning profile set up before you can do this. Once you have that you can plug your device in to your machine with a USB cable and it should show up under the Development - > Test Target options. With it selected you can then use the Test button to deploy your app to the device. You can also build the standalone and copy it across to your device using Xcode as described in this lesson.

http://lessons.livecode.com/m/4069/l/565713-how-do-i-build-an-ios-application

This lesson also needs a few updates so we'll get that done soon.

If you want to get your app on a device while you wait for your enrolment you should be able use the free provisioning profile associated with your apple ID. We have a blog post on this

https://livecode.com/how-to-create-a-free-ios-development-provisioning-profile/

There are a couple of changes since the blog post was written

1. In Xcode -> Preferences -> Accounts select your Apple ID in the left panel, then select (Personal Team) under Team. Click Manage Certificates, click the + button on the bottom left and select "Apple Development" then click Done. This will create your certificate. (Step 3)

2. In Xcode after creating your project and setting up the General Settings (Step 8) click into the "Signing & Capabilities" section. This is where you can create the bundle identifier and provisioning profile.

3. Now to go LiveCode and open the iOS Standalone Settings. Change the Internal App ID to the one that was created in Xcode and select the profile. You will get a message saying it will expire in 7 days but you can generate a new one when it expires.

I hope that helps.

Kind regards

Elanor

Evan

Hi Elanor

Thank you for the concise explanation, I have successfully enrolled for the Apple Developer Program. Just wanted to check, I am using the Live Code 9.6.0 Community Edition, can i use that to upload an ios app to the app store?
I'm asking this as I have set up a distribution profile but I cannot select the profile under the standalone application settings.

Evan

Hi all, apologies for the repeated comments. I am facing this issue when I am saving the livecode application file (coded using livecode 9.6.0 community edition): When I save it as a standalone application, the following error message occurs: There was an error while saving the standalone application. In order to build Android standalones you need to choose the location of your Android Development SDK in preferences > Mobile Support. However, I only want to save it as an iOS app as I only want to upload it to the Apple App store. As for Android, I have already done so using another device, hence there isn't a need to save it as a standalone application for both iOS and Android, but just iOS solely.

Evan

ERROR ITMS-90005: "This bundle is invalid. The icon file test.app/AppIcon57x57.png must be in .png format."

I'm facing these error(s) even though I uploaded correct file size and format under the icons section of the standalone application settings for:
AppStore Choose a 1024x1024 pixel png image
iPhone Choose a 57x57 pixel png image
Hi-Res iPhone Choose a 114x114 pixel png image
iOS 7 Hi-Res iPhone Choose a 120x120 pixel png image
iPhone 6 Plus Choose a 160x160 pixel png image
iPhone X Choose a 180x180 pixel png image

Elanor Buchanan

Hi Evan

For submission to the Apple App Store you will need one of our Commercial licenses. A Community Plus license will allow you to build and distribute free apps on the Apple App Store. For anything else you will need an Indy or Business License. You can see more about the features of the different editions here.

https://livecode.com/products/livecode-platform/pricing/

You will be getting the message about Android builds because you have Android selected as a platform to build for. If you only want to build for iOS open the Standalone Application Settings from the File menu and deselect the platform you don't need.

The icon error message is because the icon files you have selected are not recognised as png files. I have run into this myself and I resolved it by opening my images in Preview and re-saving them as PNG.

I hope that helps.

Kind regards

Elanor

Evan

Thank you Elanor for your help, my app has been submitted and approved in the app store.

May I know just one thing, if I developed the app on livecode on an iphone will I be able to upload to app such that an iPad can download the app too? I do this in Standalone application settings, and select build for iPod,iPhone and iPad right? And upload app icons for ipad and screenshots too! Would this be correct? Currently my app is only searchable on App store if I use iPhone but I wish to use iPad too!

Elanor Buchanan

Hi Evan, that's great news.

Yes you will ned to change the "Build For" option in the Standalone Application Settings to "iPod, iPhone and iPad" and add the icons etc. You might want to think about setting a fullScreenMode if you haven't already.

You might also need to update the app details in App Store Connect.

Kind regards

Elanor

Evan

Great, thank you so much for your help! May I know how and where I can set a fullScreenMode? Regarding the app details, I have uploaded screenshots of the app in iPad 12.9 inches size. So when I am building this app, I was building it for iPhone, however, I wish for iPad users to be able to download it from their iPad. In terms of UI, will the screen size scale proportionally from iPhone and iPad?

Elanor Buchanan

Hi Evan

Setting the fullScreenMode will handle scaling for you. Theres is a lesson on using fullScreenMode here

http://lessons.livecode.com/m/4069/l/156477-how-do-i-make-my-app-scale-to-fit-the-screen-on-all-devices

You can experiment to find the best setting for your app but I would suggest letterbox as it preserves the aspect ratio and ensures all content is visible.

I hope that helps.

Elanor

Rainer Jauernig

Since I owe a lot to this lesson and also to the posts in various livecode forums to get my app into the App Store, I would like to summarize the solutions to my various problems (which I had to painstakingly gather) as a thank you:
1. after reinstalling Xcode, which you have to do from April 2023 anyway, go to Xcode-Preferences-Locations- Command Line Tools (which you have to download before) and confirm that the current Xcode version is shown, otherwise you can't save the standalone.
2. using the Mac GUI: rename the containing folder to 'Payload', and not the .app as Panos already suggested to highlight.
3. if Apple keeps bugging you with a missing Developer Provisioning Profile, manually add the *.mobileprovision to the folder Payload.
4. "Once the upload is successful the Transporter status will change to 'Delivered'. You can open the Log, view the app in App Store Connect or remove the app from Transporter" says the Lesson BUT Apple can still reject your AppIcon Image Files as "appears to be corrupt" Then just delete all icons in the Standalone Setting and set new ones. Panos has already suggested that somewhere, only if you need it, you won't find it.
5. and when you have done that, you suddenly find out that your app is constructed totally wrong (ITMS-90184). Then go back to the very beginning of the Standalone Settings : Build For: change to "9.0 or later" . I believe that Dr.White already recommended this a few years ago.

Panos Merakos

Dear Rainer,

Thank you for the info - that is useful :)

Kind regards,
Panos
--

Add your comment

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.