- The ID you sign in on developer.apple.com/ios and the ID you sign in using itunesconnect.apple.com must be the same ID. If they are different, you cannot submit through Xcode.
- You cannot get around this by doing an ad-hoc export of your .IPA file and using Apple’s Application Loader to get around this. For some reason your .IPA will not be signed with the correct endorsements to enable TestFlight.
- Until you get all the stars to correctly align:
- Use the same Apple ID for your developer.apple.com and itunesconnect.apple.com accounts,
- Set up a new application in itunesconnect.apple.com for your application you wish to test,
- Correctly build your .IPA with a distribution certificate and a provisioning profile which is set up correctly,
- Correctly submit your .IPA through Xcode (rather than exporting the .IPA and submitting with Apple’s Application loader),
- Correctly update your build numbers as you submit incremental builds,
then the Apple TestFlight UI makes absolutely no fucking sense.
There is no hint how to get through the happy path, or why things go wrong. You just see weird errors that make no sense, and instead of seeing a line in your pre-release software list saying why something cannot be tested, you instead just see a blank line and errors which make little sense and give zero hint as to what you did wrong.
Apple sure can suck the wind out of the fun of writing iOS software.
Update: Even if you do manage to finally work the ‘happy path’ correctly, (a) Apple still does a review on the application before they allow it to go out to “external testing” (really?!? isn’t the point of ad-hoc distribution for your own people to test features for incomplete applications???), and (b) it’s not entirely clear why some of your members do not have the ability to become “internal testers.”
Combine this with the fact that each Apple device generally is held by a single owner with a single Apple ID, and that makes even accepting invites (assuming invites are sent out) for a consultant who may have multiple Apple IDs a bit problematic. Especially if I want to test for a client on my own private iPhone or iPad.