How to upload IPA now that Application Loader is no longer included in Xcode 11
Asked Answered
U

11

93

I'm a little afraid to ask this question because the problem seems huge to me and yet I don't see anyone panicking about it. I'm a little afraid to sound crazy, but I'm going to go for it :

As we can read on Apple's post Submissions Update :

Starting with Xcode 11, Application Loader is no longer included in Xcode. For details on how to upload your apps to App Store Connect using Xcode, see Xcode Help.

It is legitimate for people and organizations using the Phonegap build service to ask themselves how to put our IPA online knowing that we do not have access to the Xcode project file.

Apple gives us a new tool called Archives organizer but as we can read on the documentation:

In the Archives organizer, select the archive you want to upload, then click Distribute App.

Okay, where's my archive? Is an IPA considered an archive? How do I integrate my IPA into this software?

Maybe I haven't found the solution that is right in front of me but for the moment I'm especially afraid of the future of Phonegap build if there is no alternative tool for the Application Loader.

So, did you even facing the same problem and do you find a solution ? (excepting a migration to Cordova)

I know that hybrid applications don't have a long life ahead of them because of the depreciation of UIWebView and the low compatibility of cordova with WKWebView but I can't believe Apple decides to kill Phonegap build without a warning. And as usual, Phonegap's teams are not very talkative.

Edit

Well, It is possible to transfer your ipa with the following command but did it is worked because I have the old version of Xcode (10) and so it will be deprecated when Xcode 11 release ?

xcrun altool --upload-app --type ios --file "path/to/application.ipa" --username "YOUR_ITMC_USER" --password "YOUR_ITMC_PASSWORD"
Urbane answered 17/9, 2019 at 14:4 Comment(2)
The answer might solve your problem.Baggs
Did you get the answer of your this question? Okay, where's my archive? Is an IPA considered an archive? How do I integrate my IPA into this software?Shingle
I
46

I am using XCode 11 GM Seed 2 (11A420a). I've tried

xcrun altool --upload-app --type ios --file "path/to/application.ipa"
--username "YOUR_ITMC_USER" --password "YOUR_ITMC_PASSWORD"

But it didn't work for me as it were generating an error code like "Error Domain=ITunesSoftwareServiceErrorDomain Code=-22014.

I generated an App Store API Key (see https://appstoreconnect.apple.com/access/api), saved in in my ~/.appstoreconnect/private_keys directory and made this bash script named applicationloader.sh:

#!/bin/bash
APPFILE=$1
set -euo pipefail

# key is in ~/.appstoreconnect/private_keys
KEY="<the key part of the AuthKey_key.p8 file>"
ISSUER="<YOUR ISSUER ID>"
xcrun altool --upload-app --type ios --file $APPFILE --apiKey $KEY --apiIssuer $ISSUER

Then (after a chmod a+x applicationloader.sh) I just type

applicationloader.sh app.ipa

and the app uploads to testflight no problem.

Hope this helps.

Inviting answered 20/9, 2019 at 12:46 Comment(5)
Thank you for this code. Personally altool with the identifiers works fine. The question may seem silly but did you use the password generated on appleid.apple.com ?Urbane
Actually, I upload to a different appleid than mine - I upload into my customer's apple developer's account. This is probably the cause for the username/password not working.Inviting
I have 2FA on my account and was able to use a generated app password.Formication
What do you mean by issuer id? The Apple ID that I use to login to the App Store?Edwinaedwine
how do you do it now when in xcode 11.6 there is no altool? I need to notarize my app distributing outside appstore and I do not know how to notarize it. I am developing with Qt in QtCreator, therefore the altool was the first choiceAbeyance
S
81

Apple today announced that it is making a new version of its Transporter developer application available on the Mac App Store. This app allows developers to easily upload files to App Store Connect and more.

Available in the Mac AppStore

Transporter

Salmonella answered 16/10, 2019 at 7:12 Comment(1)
This is what comes closest to the OP's demand, because it can do what Application Loaded did.Groggy
C
67

November 2019 - the new "Transporter" app

enter image description here

  1. You have to get, from the ordinary mac app store, the Apple app "Transporter". To be clear click the ordinary "App Store" icon, in the icon bar, on your mac, as if you were an ordinary consumer and not a dev. Search "Apple Transporter" and get it. ("Transporter" is totally free).

  2. In current Xcode. As usual, increase the build number, disconnect tethered phones, and click "Archive" as usual. (Don't forget to not-select a simulator!)

  3. When complete, click "Distribute App" in the usual way. Do select "App Store Connect" in the usual way. But. Then select Export ... do NOT select upload.

enter image description here

  1. You will be asked where to save to - be sure to choose your Desktop.

  2. A folder (not file) will be left on your desktop. Notice the current time of day to distinguish the correct folder. (It's annoying when you get the wrong folder!)

  3. In the folder is an ".ipa" file. Everything else is NOT used / of no value whatsoever.

  4. Launch the "Transporter" app. Simply drag only the ipa file into the Transporter app.

Useful Transporter app Tip:

Be sure to look at the Preferences of the Transporter app. It is possible to get rid of (one) of the useless "OK" clicks.

--

Historic notes -

At one point, around Sept 2019, incredibly, appstoreconnect was *not working in Safari for some months. You had to use Chrome. (No, really!) This is now all irrelevant.

Conan answered 23/9, 2019 at 4:9 Comment(3)
Do all these steps without (Validation)?Munos
@Munos - that's all done automatically nowConan
That's greate !Zermatt
I
46

I am using XCode 11 GM Seed 2 (11A420a). I've tried

xcrun altool --upload-app --type ios --file "path/to/application.ipa"
--username "YOUR_ITMC_USER" --password "YOUR_ITMC_PASSWORD"

But it didn't work for me as it were generating an error code like "Error Domain=ITunesSoftwareServiceErrorDomain Code=-22014.

I generated an App Store API Key (see https://appstoreconnect.apple.com/access/api), saved in in my ~/.appstoreconnect/private_keys directory and made this bash script named applicationloader.sh:

#!/bin/bash
APPFILE=$1
set -euo pipefail

# key is in ~/.appstoreconnect/private_keys
KEY="<the key part of the AuthKey_key.p8 file>"
ISSUER="<YOUR ISSUER ID>"
xcrun altool --upload-app --type ios --file $APPFILE --apiKey $KEY --apiIssuer $ISSUER

Then (after a chmod a+x applicationloader.sh) I just type

applicationloader.sh app.ipa

and the app uploads to testflight no problem.

Hope this helps.

Inviting answered 20/9, 2019 at 12:46 Comment(5)
Thank you for this code. Personally altool with the identifiers works fine. The question may seem silly but did you use the password generated on appleid.apple.com ?Urbane
Actually, I upload to a different appleid than mine - I upload into my customer's apple developer's account. This is probably the cause for the username/password not working.Inviting
I have 2FA on my account and was able to use a generated app password.Formication
What do you mean by issuer id? The Apple ID that I use to login to the App Store?Edwinaedwine
how do you do it now when in xcode 11.6 there is no altool? I need to notarize my app distributing outside appstore and I do not know how to notarize it. I am developing with Qt in QtCreator, therefore the altool was the first choiceAbeyance
C
24

From Console you can do:

xcrun altool --upload-app --type ios --file <Path-to-ipa> --username <Username> --password <One-time-pass>

Remember to use the one time pass from https://appleid.apple.com/account/manage and to omit the double quotes on PATH, USERNAME, and PASSWORD

Apple transporter

There is also a new app that Apple released that allows developers to send files to App Store Connect

https://apps.apple.com/us/app/transporter/id1450874784?mt=12

Chromonema answered 24/9, 2019 at 7:13 Comment(6)
This works for me as well. Important is to omit the double quotes. Otherwise you get an error code like "Error Domain=ITunesSoftwareServiceErrorDomain Code=-22014."Camenae
This should be marked as an answer. Thanks so much. !!! Also , IMPORTANT, do not forget to omit the double quotes for PATH, USERNAME and PASSWORD. Also , the password isn't your Apple Id Password, it is the application specific one time password ) ThanksHandwriting
mas password using $ follow by number, so is that ok if I use a single quote? seems not working for meVerdie
I've tried to download Transporter from AppStore to my mac but I can't download it, ¿someone has this problem?Confiscate
One time password, of course. Thank you, this finally solved months of frustration.Iatrics
how do you do it now when in xcode 11.6 there is no altool? I need to notarize my app distributing outside appstore and I do not know how to notarize it. I am developing with Qt in QtCreator, therefore the altool was the first choiceAbeyance
P
7

Apple Just launched transporter app to submit app to itunesconnect

https://apps.apple.com/us/app/transporter/id1450874784?mt=12

Perfectionist answered 18/10, 2019 at 9:59 Comment(0)
P
6

Xcode supports uploading apps from the Organizer window or from the command line with xcodebuild or xcrun altool. Application Loader is no longer included with Xcode. (29008875)

xcrun altool --upload-app --type ios --file <Path> --username <Username> --password <One-time-pass>

Apple also launched transporter app to upload direct ipa to itunes connect.

Perfectionist answered 30/9, 2019 at 4:35 Comment(1)
Xcode supports uploading apps from the Organizer window Apps maybe but not IPA fileUrbane
N
5

Enzo's answer works like a charm. But for those who are confusing like me you need to generate an app-specific password here: https://appleid.apple.com/account/manage

(I know, I'm responding to Enzo's answer here but I'm unable to comment)

Natalya answered 23/9, 2019 at 9:30 Comment(0)
C
2

What exactly does this mean "the key part of the AuthKey_key.p8 file" Sorry unable to comment, why everything these days so bloody annoyingly complicated when it needn't be

Cage answered 9/10, 2019 at 11:10 Comment(2)
It means that e.g if your key is named: AuthKey_123456ABC.p8 then you should just use "123456ABC". Remember your AuthKey_123456ABC.p8 file has to be stored at this location: ~/.appstoreconnect/private_keys/Stokeontrent
Aaaah, so in other words what is actually named "key id". Thanks.Cage
C
2

Apple Has introduced Transporter App on App Store you can download it and use it instead of Application Loader

Caroleecarolin answered 24/10, 2019 at 1:27 Comment(0)
C
0

Okay, where's my archive? Is an IPA considered an archive? How do I integrate my IPA into this software?

The archive section will create your IPA file, and let you upload it directly to the apple developer area, ready to submit to the store.

In Xcode, from the menu at the top click "Product" and then "Archive". Follow the onscreen instructions. At this point your IPA file is created. You can choose to automatically distribute your file to the appstore, but I suggest clicking the "Validate App" option first, which will re-request the correct certificates/provisions and give you a summary of any issues. If no issues you can click "Distribute App" and it will upload the IPA file to your Appstore Connect (formerly iTunes Connect) area.

Cornucopia answered 7/1, 2020 at 8:18 Comment(0)
S
0

Here are 3 options for 2020 upload tools from apple

https://help.apple.com/app-store-connect/#/devb1c185036

Upload your app binary files with Xcode

Upload your app binary files with altool

Upload your app binary files with the Transporter app

Stopoff answered 18/10, 2020 at 20:18 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.