52

I have published an app through the testflight website to allow my colleagues to test, and as more and more of them opens the initial email and find time to go through the registration process, testers are trickling in on my testflight team.

However, the process to add them to the test seems a bit convoluted, so I thought I'd verify, and ask, if I'm doing it right, or if I have missed something obvious.

At the moment the whole procedure looks like this:

  1. A colleague opens up the initial email, with the invitation link
  2. He/she then registers the device, and registers for the test
  3. I am informed of this new tester through an email and through the testflight site
  4. I then have to download (or write down/copy) the list of UDID's of all the new testers since last time
  5. I then have to visit the devices part of the Apple Developers site, and upload that file
  6. Edit my provisioning profile to include the new devices
  7. Wait for it to approve, and download the provisioning profile
  8. I drag the provisioning profile into the Xcode provisioning profile organizer
  9. I then go back to MonoDevelop, and ensure it is still pointing to the right profile (I don't know if using MonoDevelop/MonoTouch complicates this process so I didn't want to leave it out, it might be irrelevant for this question)
  10. I rebuild, and republish on testflight
  11. I then visit the testflight website, find the new/updated build, and ensure all my testers are informed of it

I noticed that if I do not update the version, it will "silently" replace the existing build, and reuse the list of testers that have already been informed, so if I just check all the new testers and complete, it'll only inform the new ones.

However, it seems a bit of a work to have to keep downloading and mucking about with the provisioning profile files.

Did I miss something obvious? Is there a way for me to make any part of this easier?

For instance, I noticed that I can create a provisioning profile inside the Xcode organizer, however that dialog box doesn't list any certificates so I can't complete that dialog. If this is a key element, leave a short answer to that effect and I'll instead repost a new question about that.

This question is just: Is the above procedure correct?

Lasse V. Karlsen
  • 380,855
  • 102
  • 628
  • 825
  • I wasn't entirely sure if this question is right for SO, it *might* be more suited for the [apple.se] site, but if so, please just leave a comment and I'll migrate it myself. – Lasse V. Karlsen Oct 12 '11 at 21:43
  • Yes, this is pretty much the process you have to use. The MT aspect doesn't really change anything, although I sometimes have to close and restart MD in order for it to pick up the change in profile. – Jason Oct 12 '11 at 22:02
  • 2
    Process has slightly changed, check @Tom's answer – pre Sep 06 '12 at 19:52

5 Answers5

29

No need to rebuild the .ipa

  • Upload the .ipa
  • Send invitations to testers
  • Add their devices to provisioning profile
  • Download the approved profile
  • Go to TestFlight builds >> Permissions >> Upload profile ...
  • Click Send Email/Update
  • You're done - the new user get's the link to download the app.

Hope that helps.

Ramesh
  • 1,703
  • 18
  • 13
  • 2
    This saves you from having to rebuild the IPA, but from the perspective of the testers it's no different. You should be able to just add a brand new tester to the account and have them instantly get access to the app--none of this generating a new provisioning profile stuff. Can't apple keep track of how many users have a certain app installed for us? I realize this is an Apple issue not a TestFlight issue, but it's ridiculous. Why make developers and testers jump through all these hoops for a closed beta? – d512 Feb 26 '14 at 20:36
  • 1
    Unfortunately, this is no longer the case. It was there a few weeks ago, but it seems after Xcode 6 came out, they took out the option to upload a new profile. Probably has something to do with the new way of signing apps. – Jay Q. Oct 20 '14 at 23:42
21

Yes, you need to go thru that manual process to add UDIDs to your profile. There's no way around that, unfortunately.

After you create a new provision you can use xcode to "sync" the new provisions file if you would like. Open it up, go to the Organizer, select "Provisioning Profiles" on the left and press refresh. I honestly do it manually, it's not that much work after all.

Eduardo Scoz
  • 24,653
  • 6
  • 47
  • 62
  • Refreshing doesn't seem to pick up the new devices. It still essentially says "your iphone, your ipad, and 9 other devices", even if the profile now contains 12 devices (I just added one.) However, if I have to go through all of that regardless download+drag'n'drop isn't that much more work than the refresh button. – Lasse V. Karlsen Oct 12 '11 at 22:36
  • I've noticed that refresh isn't a reliable way of adding new devices to a profile. The UX for that process is poor, manually importing from the provisioning portal is best. – Anuj Oct 16 '11 at 21:57
  • @Anuj that has been my experience as well. The only way I can make it work is to delete all profiles and then sync again. Still, I prefer to simply download the new provision and install it directly. – Eduardo Scoz Oct 17 '11 at 14:35
  • All always use the refresh button in xcode. One thing that's annoying is, that you don't see any progress indicator while the refresh is running. Just wait a little and you see your old profiles disappear and the new showing up. – Tim Büthe Mar 14 '12 at 22:00
  • I always manually download and double-click too. But since the latest ver. of Xcode, (4.5.2 but possibly previous versions also), I often have to quit Xcode and restart before changing the selected profile under Build Settings will do anything. Totally lame. I may try this refresh button. Never used that before. – livingtech Jan 24 '13 at 00:32
10

Testflight has an option to update your provisioning file since a couple of months. Before it was already there, but "Area 51" features should be enabled to see it. So step 8, 9 and 10 are not needed anymore..

Tom
  • 2,242
  • 18
  • 27
  • Has this actually worked for you? My users seem to end up in a loop having to reinstall the profile over and over again, until I do a build with it. – Thom Oct 16 '12 at 12:26
  • I have to admit, it didn't happen when I started using it, but the last couple of weeks I have the same issue. But I'm not sure if this is due to Testflight, or Apple because they are making the profile invalid.. I still need to investigate... – Tom Oct 17 '12 at 07:24
  • I know in one case it was due to us using a development profile instead of a distribution one. TestFlight does seem awesome from a user point of view, I think you just have to accept a non-zero amount of pain as a developer whatever happens. :P – Thom Oct 17 '12 at 11:20
2

I've done quite a bit of work for Ad-Hoc applications on iOS and that's the procedure Apple makes you take unless you bump your subscription up to the Enterprise account.

stehlikio
  • 68
  • 5
  • What happens if you upgrade to an Enterprise account? – Charlie Oct 23 '12 at 21:20
  • @Charlie It's been a while since I've been part of an Enterprise account. Back in the day at least, you had to create a provisioning profile and send that out along with the .ipa (You don't have to add specific devices to your provisioning list). The users could then import the provisioning profile and .ipa into iTunes and install it, or there was a more complex setup that you could load the files onto a web server and the users could download the .ipa from there. – stehlikio Dec 14 '12 at 22:25
0

TestFlight used to allow uploading of new provisioning profile so you didn't have to rebuild to add new testers. TestFlight would then re-sign your existing apps for you and notify users accordingly. But it seems after Xcode 6 came out, they took out that option. Probably has something to do with the new way of signing apps.

https://developer.apple.com/library/mac/technotes/tn2206/_index.html#//apple_ref/doc/uid/DTS40007919-CH1-TNTAG205

Jay Q.
  • 4,979
  • 3
  • 33
  • 36