How to upload an iOS app to the app store via command line

UPLOAD IPA TO TESTFLIGHT

altool --upload-app -f "${APP_NAME}.ipa" -u $APP_STORE_USERNAME -p $APP_STORE_PASSWORD

To use altool from anywhere in the terminal you could add it to your PATH env variable by typing in terminal:

Previous to Xcode 11:

MacBook-Pro:~ denis$ export PATH=$PATH:/Applications/Xcode.app/Contents/Applications/Application\ Loader.app/Contents/Frameworks/ITunesSoftwareService.framework/Support/
MacBook-Pro:~ denis$ source ~/.bash_profile

From Xcode 11 and later: (altool has changed location)

MacBook-Pro:~ denis$ export PATH=$PATH:/Applications/Xcode.app/Contents/Developer/usr/bin/
MacBook-Pro:~ denis$ source ~/.bash_profile

  1. Make sure you have an application in "waiting to upload" state.

  2. Create a new keychain Item Named: Xcode:itunesconnect.apple.com provide your credentials to itunes connect.

  3. From the command line: xcrun -sdk iphoneos Validation -online -upload -verbose "path to ipa"


The previous reply does not work with the new iTunes Connect any more.

You need to use the iTunes Transporter to upload your app to iTunes Connect. Check out the source code of deliver on GitHub: https://github.com/fastlane/fastlane/blob/master/fastlane_core/lib/fastlane_core/itunes_transporter.rb

You can use deliver to automatically upload new updates to the App Store: https://fastlane.tools/deliver