I'm currently developing an iOS application for a client. The submission review process to the store can often be a lengthy process and is relatively new to me.
My client wants to do a beta test using TestFlight as well as submitting the app to the app store afterwards.
Scouring Apple's documentation I can't seem to get a good idea of following:
If I want to update an existing application on the store do I have to go through the review process again in full?
If I have my app approved for beta testing release through TestFlight, is this taken into consideration when submitting the app for review to the store?
No, it's absolutely unrelated.
(Indeed, it's perfectly possible to just submit straght to the store - and never use the beta/TestFlight process at all. Very many companies do this; many teams and companies never use TestFlight whatsoever.)
If I want to test a new build through TestFlight, do I need to go through the beta review process again in full?
Say you have an app, HappyApp:
The FIRST time you submit it for beta testing, there is a delay:
usually of about one day.
To repeat, that is while waiting for "beta approval". So that's "build 1" of your BETA version of HappyApp on TestFlight.
it appears (although it's not certain) that this is an actual human process. (Regardless of whether it is a human process, or just some computer bullshit - we don't know which is the case - it takes about a day, sometimes a little longer.) You can rely on this delay, it is never shorter.
ACTUAL EXAMPLE July 14-15 2016. I measured one and it took 21 hours. Submitted to first-beta. Submitted to first-beta Thursday 7PM, released by Apple's computers as useable on TestFlight, aka "beta approval", Friday 4PM.
So, builds 2, 3, 4, 5 .. of HappyApp on TestFlight:
When you submit each new build, there is only a short delay (say, 15 minutes) for each of those new builds to go through.
VERY IMPORTANT Like I say: for builds 2, 3, 4, 5 .. of HappyApp on TestFlight, there is just a short 10-20 minute delay.
it is very common - let's say, it happens about one time in eight builds - that Apple's servers f'up, and the build fails to go through.
If you have waited, say, 30 minutes and it has not gone through:
just increase the build number by one and push it through again.
This is the most common, stupid, problem with Apple's stupid, crappy, TestFlight system.
Nowadays, we never, ever, wait more than 30 minutes. I just increase the build number and send it again.
Again, the FIRST time you submit a beta build, there is a "correct" delay of, say, one whole day or more. But after that, for builds 2+, it should only take say 15 minutes - BUT quite often (say, "once a week" or something it will happen to you) that process is simply broken: if it hasn't gone through after (say) 20 minutes, simply add one to the build number and submit again.
If it takes longer than about 30 minutes, it is a certainty that it will never go through, it's f'ed.
Difficult issue: say your first-build is taking longer than the advertised "about one day". So it has gone on to day two... What to do? In my opinion: it's probably f'ed: make a new bundleID (so, if it was com.company.testing, make another one com.company.testingb .. then c, d) and so on. This leads to an interesting issue: consider using a throwaway bundle ID for beta testing apps, while showing the app to clients and so on. Only change to the "real" bundleID when you submit it to the store. (So, we have some bundle ids "com.company.testinga", b, c etc which we use for all apps, for TestFlight - and then change to the real bundleID for the store.)
If an app is approved on the app store, does it automatically pass the beta review?
Stupidly, no. You have to start again. HappyApp verion 7 is in the app store making money. You make Version8, and put in in beta to send to your coworkers. the first build of Version8, will get the stupid 1-day-ish beta review, as explained above.
(This sounds counterintuitive considering you don't want to do a beta test after releasing to the store but in a scenario where you may want to do a closed release of an update for testing while a live version is up on the store)
Everything from top to bottom about Apple's approval process is - stupid. Leave your common sense at the door :/
The above post as of summer 2016.