Search code examples
xcodephonegap-buildphonegapxcode11application-loader

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


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"

Solution

  • 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.