Uploading from a local Mac builder with XCode 11

In case anyone else runs into this (my Mac auto-updated this morning), here's how to do it:

First, after you've built the code, find the directory where your ipa file is; since my username in B4i is set to nigel, and the build server is in my Downloads folder, it's a case of

cd ~/Downloads/B4iBuildServer/UploadedProjects/nigel

Now, you need the app-specific password you were using with Application Loader, and you run this command (replacing my email address with your own, and Navigator.ipa with the name of your own ipa):

xcrun altool --upload-app -f Navigator.ipa -t ios -u nigel.whitfield@bluf.ltd.uk -p app-specific-pass

There's no progress display; it'll just sit there for a bit and then say "No errors uploading 'Navigator.ipa'"


Active Member
Licensed User
Perhaps a future enhancement to the local builder could include this, much as with the hosted builder there's the 'upload' option?


Active Member
Licensed User
Since I like to make life easier for myself, here's a shell script to do most of the work for you.

#!/bin/sh -
# Nigel's quick app uploader script
# update the following lines with your Apple ID and
# app specific password - the same one you used with Application Loader

# to run this script from the terminal, make it executable
# with chmod +x uploader.sh
# then type ./uploader.sh ~/path/to/your/file.ipa
# eg
# ./uploader.sh ~/Downloads/B4iBuildServer/UploadedProjects/nigel/Navigator.ipa

# to install it so you can call it from anywhere, type
# sudo mv uploader.sh /usr/local/bin
# then you can change to the build folder and just type, eg
# uploader.sh Navigator.ipa

echo "Uploading to AppStore Connect. This may take several minutes...."
xcrun altool --upload-app -f $1 -t ios -u $APPLEID -p $APPLEPASS

As you can see, it's pretty much self documenting; if you've not done anything like this before, open a Terminal window, and type

vi uploader.sh

then press Enter. This will start the fearsomely hard to use vi text editor. Press i to enter insert mode, and then paste the code above. Press ESC to exit insert mode. Use the arrow keys to move to the APPLEID= line and position the cursor on the first letter of 'someone@...', press capital D then capital A, and type your apple ID. Pres ESC to exit insert mode. Move down to the next line, move to the first letter of 'top-secret', press DA, then enter the app specific password you used for Application Loader.

Press Esc to exit insert mode again, then ZZ to save and quit.

You now have a file called uploader.sh, most likely in your home folder. To make it accessible from anywhere, type

chmod +x uploader.sh
and press enter. Then type
sudo mv uploader.sh /usr/local/bin
and press Enter. You'll be asked for your password. Enter it.

Now, find the folder where your ipa file has been created by the build server, change to that folder, and just type

uploader.sh myAppName.ipa
Last edited:

Similar Threads