How to upload .ipa app package to Apple Store Connect

Recently Apple decided to discontinue Application Loader and therefore took the only GUI tool from the developers to upload their application packages to TestFlight/Apple Store.

This issue touched mostly cross-platform developers (Xamarin, React Native etc.) because if you are a native dev, Xcode still allowed you to use its archive organizer to distribute apps.

The solution

To upload an *.ipa packages to the Apple Store Connect nowadays you have two options:

Using xcrun

You can see how to install the xcrun command line in this document but most likely you already have it installed on your machine, as it comes bundled up with the Xcode.

The below is the command that you need to run in a Terminal to upload your *.ipa package to Apple Store Connect:

xcrun altool --upload-app --type ios --file "/Path/To/Your/Package/your_package_file.ipa" --username "<user_name>" --password "<app_specific_password>"

The only trickery to the above is the <user_name> and <app_specific_password>. The <user_name> is your apple id and the password should be generated in your Apple account manager dashboard.

If you've followed the above link to the account manager you should find the Security section in it and click on the Genrate Password... link under the APP-SPECIFIC PASSWORD (see below screenshot)

Apple Account Manager Generate Password

Next, enter your password label (in my case it's Apple Store Connect) and click on the Create button.

You should then see your newly generated password (see below screen), which you should use as the <app_specific_password>.

Apple Account Manager Password Generated

Fill out the blanks in the xcrun command from above and execute. Voila - your app should be on the way to Apple!

Using Transporter app

Firstly, download the app from the Apple Store. After launching the app you should see the below screen:

Add *.ipa to Transporter App

Once you click on the Add button you will need to pick the *.ipa file that you want to upload from your hard drive. Having done that you should see the below screen and a DELIVER button next to your application's icon. Clicking on it will push the app to the Apple Store Connect.

Deliver *.ipa package to Apple Store Connect

Summary

Hopefully the above solutions will save you some time in working out how to upload your iOS app packages to Apple Store Connect. I sure wouldn't mind having this kind of a blog post when I discovered that Application Loader is no longer around when needed to push an app to TestFlight - it was especially annoying because the Transporter app wasn't yet released and I needed to use the command line tool.