Uploading from a local Mac builder with XCode 11

Discussion in 'iOS Code Snippets' started by nwhitfield, Sep 24, 2019.

  1. nwhitfield

    nwhitfield Active Member Licensed User

    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

    Code:
    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):

    Code:
    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'"
     
    Pendrush and Erel like this.
  2. nwhitfield

    nwhitfield 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?
     
    Pendrush likes this.
  3. nwhitfield

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

    Code:
    #!/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
    #
    APPLEID=someone@somewhere.com
    APPLEPASS=top-secret-app-password

    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

    Code:
    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

    Code:
    chmod +x uploader.sh
    and press enter. Then type
    Code:
    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

    Code:
    uploader.sh myAppName.ipa
     
    Last edited: Sep 25, 2019
Loading...
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice