Automating TestFlightApp with Xcode and Provisioning Portal

I currently have a fairly manual process when releasing a new build in TestFlight:

  1. Download the additional devices text files from TestFlightApp
  2. Log into the Provisioning Profile
  3. Upload devices
  4. Update the Provisioning Profile to include the newly added devices
  5. Download the generated .mobileprovision file
  6. Click on the file to add to Xcode
  7. Product -> Archive, Share, Create IPA
  8. New Build in TestFlightApp
  9. Type up the release notes
  10. Upload (wait)
  11. Select testers to notify

Are there scripts or utilities that handle these steps for me? I don’t mind a solution for part of these steps, as long as it reduces this process.

  • Load .obj file out of Blender
  • How to interact with UITableView in UIViewController?
  • Why are didBeginContact called multiple times?
  • Update In-House Apps — iOS Enterprise Developer Program
  • UISearchDisplayController's full-screen background intercepts touch events in iOS 7
  • Facebook iOS SDK 3.2.1 - : unrecognized selector sent to instance
  • On the other hand, maybe I’m repeating steps I shouldn’t be, or not doing things in an efficient manner.

    3 Solutions Collect From Internet About “Automating TestFlightApp with Xcode and Provisioning Portal”

    There’s a blog entry on where it describes how to automate an archive build to be uploaded to TestFlight.

    It doesn’t include automatically updating devices in the provisioning profile, but MoProPro appears to be a command line utility to add new devices.

    Jenkins is a build server with plugins for xcode and TestFlight. It is a huge time saver if you have multiple projects to upload. Once the job is set up, it can be a one-click process to deliver the apps to TestFlight. With my set up, I even get a email when the build has completed the upload to TestFlight.

    Note, it does not do the first 6 points of your question, but it does do the rest.

    Have you seen the nomad CLI tools for iOS development? They let you do things like:

    Manage Devices

    $ ios devices:add "iPad 1"=abc123
    $ ios devices:add "iPad 2"=def456 "iPad 3"=ghi789 ...

    Manage Provisioning Profiles

    $ ios profiles:list
    | Profile                          | App ID       | Status  |
    | iOS Team Provisioning Profile: * | ABCDEFG123.* | Valid   |

    Build & Distribute through TestFlight

    $ cd /path/to/iOS Project/
    $ ipa build
    $ ipa distribute

    And more!

    All examples taken from the nomad documentation.