This kind of post represents why I started this blog: I spent days banging my head against the wall trying to get this all working, and no one else should have to endure the same.This post outlines the major steps and gotchas surrounding how to: I will be using our Unwired Doc Link product, a universal i OS content distribution app, as the model for this post. I did a lot of head banging and tweaking things to get stuff to work, most if not all of which is described here.I create a duplicate of Release and named it Test Flight.
Some stuff should have just “worked”, but didn’t at the time of this writing. Before you create a new scheme, you may want to set up a new Build Configuration.I would like to keep this article updated if I missed something, so please post your comments below so I can update this article as needed. Projects created with Xcode come ready out of the box with Debug and Release builds.Simply toggle the arrow, click on something else and back, etc. At this point, the .p12 should have been saved where you specified.Now transfer it to the Xcode server using your file transfer method of choice: SSH, Air Drop, FTP, GOPHER… On the Xcode server, locate the transferred .p12 file and drag-n-drop it onto of the Keychain Access app (/Applications/Utilities).You need to create a scheme that your Bot will use.
You could technically use your default one, but to keep things a little cleaner, I created a new one.The Test Flight upload process will fail because the specified directories don’t exist on your local machine (unless the Xcode server is on the same machine).However, Xcode should open organizer and a new Test Flight release build should be available as you would expect. The Xcode server will need all of those settings we just changed in the project file to work correctly. There are simply too many build configuration problems to try explain here. If you haven’t already, make sure you have the Xcode Server running on your Mac OS X server. Make sure you add your developer team(s), otherwise things won’t work. However, at the time of this writing, essential distribution provisioning profiles are not installed when you configure teams in Xcode server.First, make sure the Archive build configuration is set to Test Flight; the configuration you had just created. Click on “Post-actions”, and if nothing is in there, click the ‘ ’ at the bottom to create a “New Run Shell Script” action.In the resulting window, make sure to use “/bin/bash” as your Shell and select your product for the “Provide build settings from” pull down.This means your Xcode server has no way of properly signing your app, resulting in build errors time and time again during the archive phase.