UPDATE #4 (20151109):
Everything was fine for a while – Even the build-in “Upload to App Store…” button in XCode worked as it should, but nothing good lasts forever. Recently I’ve been getting the “You’re not authorised to use this service” error, which is of course complete bullocks and not at all related to whatever the problem is.
I know this because using the Export function and uploading the same IPA with the same credentials with Application Loader works most of the time. The only time it doesn’t work is when XCode decides I’m not authorised and refuses to upload, but still feels a need to lock some file that Application Loader also needs access to. Brilliant…
How is this in any way a difficult problem to fix? Take this crazy idea for example: How about letting the “Upload to App Store…” button do an export and pass the file to the Application Loader.
Yeah I know, crazy idea…
UPDATE #3 (20150902):
Out of necessity I recently re-visited external testing in test flight and found that the review process has been greatly simplified with most (if not all?) of the silly requirements removed and time-to-review down to around a day or so.
Bottom line is that this post is no longer relevant – Apple has stepped up and fixed TestFlight. I could still wonder why it took so long, but I’m just happy it works 🙂
UPDATE #2 (20150604):
That’s a funny coincidence.
Last night all my pre-releases suddenly disappeared from iTunes for a couple of hours, and today – all the builds I’ve done have automatically become active without me having to hit “save” on iTunes Connect.
I’d like to think that Apple actually listens to small developers and that my little rant paid of, but chances are I’m not the only one who complained and it just happened that they fixed it a few days after I finally had enough :).
Anyway: thanks 🙂 Now for the second half of the problem …
UPDATE #1 (20150601):
As I am (once again) waiting for iTunes to update, I was thinking of this post and it occurred to me that this whole sorry mess could be fixed with just 2 simple changes:
1. Provide a way to enter the “what to test” text before uploading so I don’t have to log in to iTunes Connect.
2. Remove the ridiculous review process from the test accounts.
Come on Apple, do something good for your developers for a change?
I really don’t have time for this, but seeing as I am waiting for TestFlight anyway, this seems like a good time to vent some frustration.
Last year, Apple acquired TestFlight – the awesome service that let you drop new builds in the hands of your clients in minutes with very little fuzz, once it was set up. Which was a bit of a pain (not because of TestFlight, mind you, but because of Apple).
Here is how that worked in my daily life:
- Build App
- Wait for XCode to complete
- TestFlight immediately discovered the new build and opened its wizard
- Fill in information, select team, hit publish, done. One single flow with no waiting (Uploading was done in the background)
So… Apple acquired TestFlight and you would think that they would fix the one issue with TF: the setup. Admittedly, setup is marginally simpler than before but even this they’ve manage to screw up. Really it’s just stupid in a different way, but I’ll get back to that later.
In any case, it’s not that big a deal. I go through the setup phase once for each client so I can live with a few bumps on that road. Builds, however, is a different story. Some days I do 5-10 builds for a single client while ironing out odd issues or testing various designs, so the build process is what matters to me.
Here is what that looks like today:
- Open Organizer
- Hit Submit To AppStore
- Pick team
- Hit Submit (again)
- Wait (a very very long time)
- Hit Done (Except, we’re not, are we?)
- Open iTunes Connect in a browser
- Log in
- Navigate to the app MyApps->App->Prerelease
- Keep hitting “refresh” while you:
- WAIT some more for the state to go from Uploaded to Processing to finally appear in the list
- Click the build and put in some random crap in the “what to test” field
- Hurray, it’s live
You may think I’m making this up, but trust me, this is ridiculous far beyond my imagination.
So let’s return to the registration process. Before you had a limit of 100 registered devices per developer account and you had to manually register each of them, and make sure you cleared them out yearly so you wouldn’t run out. This was annoying, but I could cope, and though I’ve been in the 60+ registered devices range, the limit was never critical.
Now you can invite testers by e-mail rather than device ID which is great. Awesome. The problem: You can have 25 of these.
Twenty-five. It’s so absurd I have no words for it. I’m a small-time developer, and I’m going to break that limit almost immediately. The only way for me to not run into problems is by telling my clients that they have to limit who can test their apps. That’s a great way to start a relationship with a client.
And the fun doesn’t stop there either. These 25 people are “internal testers” which means they must be created as iTunes Connect users with access to my developer account. Why Apple? Seriously?
Now, Apple’s “big news” when they revealed this new (broken) TestFlight was that you could now have 1000 beta testers of your app, which should have sounded too good to be true. Because it is.
In order to get your app to any of these “external” testers, it must first be reviewed and approved, which means creating icons, asset and descriptions and making sure it does not tickle Apple in any inappropriate manner. Setting all this up takes hours, time that I have to bill my clients. All for an app that is just a prototype for a very limited audience.
It’s most fascinating how a company with unlimited financial resources, massive development teams and complete control over all the involved software (and hardware) components can spend almost a year to reduce a perfectly working service to a stinking pile of pooh.