I made what I believe to be the simplest way to upload binaries to iTunes Connect and posted it to github here: https://github.com/emlynmu/ipa2itc
This will support uploading binaries for Apple's TestFlight using continuous integration. All configuration information about the app is derived so all you need is a binary and your iTunes Connect username/password. The password can be stored in the keychain so you may not even need that.
Best Case Scenario
$ ipa2itc -u firstname.lastname@example.org MyApp.ipa
In this scenario you already have your iTunes Connect password on your keychain. OS X will ask you to give permission to
ipa2itc to read it.
Adding your iTunes Connect password to your keychain
If your iTunes Connect password is not in the keychain, or not in the right keychain (the iCloud keychain won’t work due to entitlements), you can add it with these steps:
- Open the Keychain Access application from
- With the login keychain highlighted, click File->New Password Item from the menu.
- Use the following settings for your password item:
Keychain Item Name: https://itunesconnect.apple.com
Account Name: your iTunes Connect username
Password: your iTunes Connect password
If you for some reason can’t get your password into the keychain, or can’t get it into the right keychain in the case of continuous integration, you can always supply your password at the command line. This is not recommended.
$ ipa2itc -u email@example.com -p yourpassword MyApp.ipa
- Download the installer package.
- Run through the installer.
- Application binary will be installed to
- You may need to add
/usr/local/binto your path if it is not already present.
How It Works
Like many other app uploader,
ipa2itc relies on Apple’s
iTMSTransporter binary buried in the Xcode package. It finds the active version of Xcode using the
xcode-select command line tool. If it can’t find Xcode you may need to use
xcode-select to choose the active version like this:
$ sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
iTMSTransporter needs a lot of information about your application before you can upload it.
ipa2itc finds all of this information for you by inspecting the
.ipa package and looking information up directly on the iTunes Connect website.