We are looking at running a test campaign for our iOS mobile app with a few hundreds users, using TestFlight.
(We cannot use an Apple Enterprise account)
The test will last 50 days and there is a 30-day limitation for test flight builds.
the documentation says:
To continue testing after the 30-day period expires, upload another
build. Internal testers automatically receive an update notification
when the new build is available. To distribute the new build to
external testers, you resubmit it to Beta App Review. As soon as it is
approved, you can send the external testers an update email by
clicking Send Invites from the External Testers column on Builds,
https://developer.apple.com/library/ios/documentation/LanguagesUtilities/Conceptual/iTunesConnect_Guide/Chapters/BetaTestingTheApp.html
So, in theory, we could test version 0.9.0 for a month, then build and distribute 0.9.1 and have people update (yes a little clunky).
The question is does it really work and what happens to local app data when updating? things like coreData and NSUserDefault?
It would be great to have some sort of absolute confirmation than those are fine.
I cannot fully test that because update behaviour might be different before and after passing that 30 days limit.
Thanks in advance.
Yes, posting two version works. The app data should not be affected. Make sure your testers are aware of this limitation and do update before the deadline.
Note, If you update the build number instead of the version, Testflight groups it together and automatically sends the update. When you change the version you have to log in to iTunes Connect and enable Testflight on the new version.
If you want to skip the 30 day limit, you can use other services for distribution, such as Fabric's Beta. This requires registering each device though, and you're limited to 100 devices on the developer portal. If you need more, you could create multiple developer accounts. There shouldn't be a fee anymore if you're just testing on a device.
And your app data will not be affected by the update (unless you make a change to your app). I have done this (hit 30 day limit and then sent update) before without any problems.
Related
I was wondering if you can disable or delete (already installed) app from tester's devices in TestFlight, since expiring the build or removing testers will leave the app installed until it automatically expires after 90 days testing period.
The problem is that I submitted the app for review in order to enable external testing, and during this period I would want to disable the app in internal tester's devices. I want to do this because I'm using Firebase for back-end with the free plan, which has a limit for transactions. So, I don't want the testers to use the resources while the app is being reviewed and tested by Apple.
Of course, I could notify these users to not use the app in the meantime, but I'm curious to know if this is possible, because it would be helpful in some other cases too.
NOTE: I know this question has been answered, but it's from 2012, and I want to know if anything changed.
My app has been approved but is awaiting developer release as I want to release it manually. Before releasing, it however, I want to test using test flight
When I try to send the approved build to my testers, Apple asks for a login id and then gives me a dialog to Submit For Review. Is this just Apple being clumsy with their language or do they actually want to review it again before testing even though it's been approved?
Anyone have any experience with this?
Here is pic of dialog box
My experience is that the Store and TestFlight are two different worlds with two different approval processes — but that the former affects the latter in a peculiar way.
The way the issue you raise has arisen in particular for me is that you release, say, version 1.1 build 26 on the Store, it is ready for sale, and then you proceed with development and upload version 1.1 build 27 to TestFlight. Even though 1.1(26) is being sold already, and even if 1.1(26) was already released on TestFlight, 1.1(27) requires a new approval! In other words, it appears that an App Store release resets the approval clock, as it were, on TestFlight.
That is almost exactly your situation. The approval on the App Store apparently means that your next TestFlight upload needs a new approval. So yes, you will have to wait while it is approved. This usually takes just a couple of days.
Instead of using TestFlight, there is even more simpler method to test the Apple approved build (Pending Developer Release state) before releasing to Store. It is Promo code testing.
You can generate nearly 100 promo codes, if i am not wrong. These promo codes can be shared to the developers so that they can actually test the store build without releasing it to app store.
You can find many articles about Promo codes. I have shared one here.
I am trying to release an invite-only iOS App. I don't particularly want this app on the App Store, and using TestFlight causes a lot of problems (having to constantly update binaries, limited users... Apple IDs).
At the same time I'd rather not have to resort to a third party distribution to get this kind of an alert.
Is it possible to release a secret invite-only App on the App Store?
Consider enrolling for an Apple Developer Enterprise Program
This will cost more but then you can distribute using your server . You can use MDM also no need to upload or use test flight.
I am not sure the last time you used Test Flight, but it has changed a lot in the last year. There can still be headaches with it, but since it was bought by Apple you now distribute your App through iTunes Connect which is the same way you would do it for releasing in the App store. You have a number of beta testers (up to 1000) that all you need is their email address. You can also have internal testers (up to 25 I think) which will get every build you upload automatically (however they do have some access to the information about your app through their iTunes accounts).
So in summary it takes the same amount of work and the same process to have beta testers that it does to release it through the App Store except that you don't have to wait the 5+ days for the App review. Do note that the beta version will expire after 30 days at which point you just need to upload a new one.
You cannot release a secret App on the App Store, as it violated Apple's App Store Review Guidelines
2.22 Apps that arbitrarily restrict which users may use the App, such as by location or carrier, may be rejected
In Apple's iTunes Connect Developer Guide, Apple has stated:
When a build has Active status, the number of days remaining for testing is shown.
After the 30 day testing period has ended, the build status changes to Expired.
Builds not currently being tested will have the status Inactive.
Can anyone please tell me what does this means?
Whether the TestFlight Beta is not available for new testers to install the app
When the testing period ends, testers that already have builds installed will not be affected
My test beta app is expired. Can my testers continue testing the build that's already installed on their devices, or should I upload a new build?
I looked at this previous SO post, but it didn't help.
Thank you!
I found the solution here:
This is a general limitation when using TestFlight. Apple probably wants to prevent that TestFlight can be used to distribute Apps to users outside of the App Store, so they enforce a strict expiry policy. The App runs for 30 days and will then stop working. You can update your beta within this 30 day period, so beta testers can update and then get again 30 days. The 30-day limit is documented by Apple and also the TestFlight App will tell the user about this limit. If you think this is not enough, you should tell your beta testers about it as well.
The alternative would be to go the "old way" by distributing your App via iTunes with AdHoc provisioning profiles. This way you need to register the UDIDs for each device yourself, you are limited to 100 devices in total, but the beta will run until the provisioning profile expires (AFAIK these profiles needs to be renewed every year).
EDIT: The beta period used to be 30 days, but has been increased to 90 days.
Your TestFlight app users should not be able to launch the app 90 days after you release it due to provisioning limitations.
If you want your test versions to last beyond 90 days, you can use good old fashioned ADHOC builds (but you'll be limited to 100 users versus the 10,000 you can use via TestFlight).
If you have a tag/access to the code of the build that has expired, a simple bump of the version number and a reissue to iTunes Connect makes the build immediately available for another 60 days.
I had this problem this morning but needed to keep the groups and try to get a build out as cleanly as possible and so that worked a treat.
We had external testers testing our app through test flight. Then we sent it off for Apple to approve. Testers are not getting notified that the app is published (I'm assuming this is right since they already have the latest version). If they go into test flight, it says the app will expire in 18 days. Do we need to tell them to do anything about the expiring app, or is TestFlight reporting something that isn't true? Will they have problems after their testing period expires?
Well, basically it's as follow: after 90 days the Test Flight App will be disabled. They'll not be able to download it anymore, as it will expire. However if you've published your app to the App Store, they can easily download the newest version from there, that does not have an expiration date. They'll however not be notified that the app was released in the App Store as those are two separate processes. What you can do is when you have a new build, upload the new version to test flight and send them the new version for beta testing, which again will be available for 30 days before expiring.
Builds remain active for 90 days after upload.
Your TestFlight app users should not be able to launch the app 90 days after you release
Hope that helps,
Julian
You have 2 options. 1) Tell the testers to download it from the app store or 2) push a new build to test flight which they can update to.
After 30 days the app goes Kaput! We had this error where I was trying to track down a mysterious crash on somebody's phone when we realized they were still running a defunct test flight build.