iOS New app Do not showing up in TestFlight App - ios

I uploaded my app in the appstoreconnect.apple.com, but it does not show in Testflight.
Is it ok situation?
And is it required to have a "Review" state after every build upload?

When setting up Testflight for external testers, Apple would like to review the build before you can submit it for testing.
If you invite external testers, the build needs to be approved by Beta App Review before testing can begin.
Source: https://help.apple.com/app-store-connect/#/devdc42b26b8

There are two paths:
Build available for internal testers(AppStoreConnect users in your team). For this the processing takes up to one hour. All the builds you submit to TestFlight will be available for them.
Build available for external testers(non AppStoreConnect users, any email can be used here, you can also create multiple groups). For this, the build needs to pass a short review from apple, this usually takes up to one day. You can chose which builds to be available to each group of external testers.
These durations may vary based on the period of the year eg. in December everything takes longer as many apps are submitted

Related

Not able to add a group of test users in iTunes for an app which is review

I submitted an iOS app which was in review process and had one default test group "App Store Connect Users". A day after that I tried to add another test group to this build, and it got successfully added. Build is submitted to review again when a new test group is added.
Now, I am trying to add third group of testers to this build. When I click the add icon next to groups, a pop shows with the message, "You can only submit one build from version 1.9.5 to Beta App Review."
I am wondering how it allowed to add the second group, but now allowing to add the third group of users. Ideally, Once the build goes through the beta test review, all the external groups that I would have added, should receive the invitation to test.
As per Apple doc says
External Testers and Groups Once you’re ready, you can invite up to
10,000 external testers who do not need to be part of your team to
beta test an app that you intend for public release on the App Store.
You can organize external testers into custom groups and share
different builds with each group, depending on which features you want
them to test. Before external testing can begin, the app must pass
Beta App Review to make sure it complies with the full App Store
Review Guidelines. Only the first build for the beta version requires
a full review.
You can add anyone to this group, and they can test builds using the TestFlight app. Builds may need approval from Beta App Review.

iOS: How to release an app for a limited number of users?

I'm quite new to iOS distribution so I'm here to ask for the right direction, in particular because my objective is not a common publication.
I'd like to distribute to a few hundreds of selected users for at least half year. What provisioning profile do I need to use, developer or enterprise? What about the provisioning's expiry date? There are differences between them, aren't they?
What distribution platform do we use for this purpose? Is TesFlight a suitable choice?
Enterprise distribution could work for you, but it is officially allowed only to be used in-house, e.g. on devices that are owned by the same company that joined the enterprise developer program.
You could also use the B2B program (available through the normal developer program)
Note: Type of certificate(provisioning profile) depends upon distribution of your app. If you don't want to release app outside your organization, then use
Enterprise provisioning else, use Production/Distribution provisioning (Standard Development),
so that your app can be made available for public use (outside your
organization)
Follow these steps to distribute your app through TestFlight
Step 1: Enter your test information
Enter test information about your app, such as a description and feedback email. You will need this if you plan to distribute your build to external testers (persons outside your organization).
Step 2: Upload your build
Upload your build using either Xcode or Application Loader. Read Cryptography and U.S. Export Compliance to determine if you need to provide export compliance documentation for your app. After builds are uploaded, they are available for testing for 90 days.
Step 3: Invite internal and external testers
Add internal testers (up to 25 iTunes Connect users in your organization) so they have access to the builds you distribute. Then invite external testers (up to 2000 persons outside your organization) who you want to test your app. You can create groups of testers and assign specific builds to groups. If you invite external testers, the build needs to be approved by Beta App Review before testing can begin.
Tip: To test the variants that the App Store builds before you release your app, invite internal testers only and download the variants using TestFlight.
Step 4: Testers download TestFlight and accept your invitations
Testers install the free TestFlight app on their devices. Then testers use TestFlight to redeem invitations, install your app, send feedback, and get updates. Testers download and install thinned variants of your app.
Step 5: View tester and build information
Track your tester engagement and your app’s performance by viewing build status and metrics in iTunes Connect—such as numbers of sessions and crashes. You can also resend invitations to testers who have not yet accepted their invitation.
Tip: You can also view crash reports directly in Xcode for apps distributed using TestFlight.
Step 6: Collect feedback from testers
Read the feedback from testers, that is sent to the email address you specified in Step 1, continually during the testing period. Also, make improvements to your app and continue distributing builds until all issues are resolved before you submit your app to the App Store.
Step 7: Stop testing
When you are done testing, you can optionally expire a build to stop testing it, and then go to Overview of publishing an app for the process of submitting your app to the App Store. If you don’t expire your build and submit it to the App Store, testers that have received an invite to test will still be able to test your build even after it goes live on the App Store. Your build will become unavailable in TestFlight after 90 days.
See: TestFlight beta testing overview
TestFlight beta testing lets you distribute beta builds of your app to testers and collect feedback. TestFlight beta testing is optional; you can submit your app for review without using it. However, it’s easy to do, free, and a valuable way to improve your app before releasing it on the App Store. You can enable TestFlight beta testing for up to 100 apps at one time in your iTunes Connect account.
Here are some guidelines & tutorial that helps your better:
TestFlight Tutorial: iOS Beta Testing
TestFlight - Apple Developer Forums

Testflight while app is "waiting for review"

We are in a hurry to publish an app for a customer, so yesterday we published an app to App Store and now is "Waiting for review".
Meanwhile, the customer aked if he could have a preview. My idea was to send him a TestFlight beta testing. I'm thinking in several options:
Start an internal testflight for the build that is in review for team customer users
Start an external testflight with the build is in review for other customer users not in the team
Send a new build and start internal testflight for team customer users
Send a new build and start external testflight for other customer users not in the team
What I'm not sure is on each case (internal/external testflight):
Can I start a testflight testing for a build that is "in review"? And if I can, will it cancel the "in review" process for this build?
Can I send another build while there is already one "in review"? And if I can, will it cancel the "in review" process for the previous build? If it will not, can I start a testflight for a new build while previous one is in review?
As said, the priority here is not to stop the "in review" process.
EDIT
I've been reading docs at https://developer.apple.com/library/content/documentation/LanguagesUtilities/Conceptual/iTunesConnect_Guide/Chapters/BetaTestingTheApp.html and what makes me be scared is:
When you are done using TestFlight beta testing, you can submit the app for final review
So it seems that testflight is more like an step in the process than a parallel option in the process...
Would be nice to have had a reply after your "will give a try..."
So I had the same issues a few minutes ago:
App is "waiting for review".
And no internal/external testing available for the client.
Since the external testing will also need a review by Apple I went for the internal way. So I added my and the clients account to internal testing. Then I added the current build which is also in "waiting for review" state to the internal testing.
Result: It worked. I got the invite email and could download that build via TestFlight. The app is still "waiting for review".
Just in case someone else stumbles upon this question/answer here.
From answer at below link:
Will submitting a build for TestFlight Beta Testing stop the Final Review Test for the same build?
Apple will review as normal even with an active TestFlight and
external testers using it.
What apple doc at below link says:
https://developer.apple.com/library/content/documentation/LanguagesUtilities/Conceptual/iTunesConnect_Guide/Chapters/BetaTestingTheApp.html
When you are done using TestFlight beta testing, you can submit the
app for final review. Before you submit it, make sure you no longer
want to test it or any builds you uploaded earlier than it. When the
app becomes Ready for Sale in the App Store, testing automatically
stops on earlier builds, and you will be unable to view or test them.
If you want to resume testing of an earlier build, you can upload it
as a new build associated with a new prerelease version.
So, when the app becomes Ready for Sale in the App Store, testing automatically stops on this and earlier builds, and you will be unable to view or test them.
You can invite users to test even when the app is in review. It will not be available only when its in store.
For external testing you need the app to be reviewed by Apple just as you publish to store but for internal testing its not required.
Send invitation to the user
Select your app
Go to TestFlight
Select Internal Testing
Click select version to test on right hand side of the screen
Select the users to send test invite
Click save
App invite will be sent to all selected users.
You always have the option to build an adhoc distribution version of your app. With this anyone who has given you there udid and it has been added to the adhoc provisioning file can install via a link or by using an .IPA file.
The major benefit of this is that the there is no review process. You build and distribute.
https://developer.apple.com/library/archive/documentation/ToolsLanguages/Conceptual/DevPortalGuide/DistributinganApp/DistributinganApp.html#:~:text=the%20App%20Store.-,Ad%20Hoc%20Distribution%20Authorizes%20a%20Limited%20Set%20of%20Devices%20to,devices%20for%20testing%20purposes%20only.&text=You%20distribute%20your%20app%20by,to%20install%20on%20their%20devices
As a first time apple developer publisher - I found the process rather easy than intimidating. I just had preconceived thoughts on the complexities that I would face if comparing to Google.Console publish.
What railon said is still true if not slightly improved since 2017 and should be accepted as an answer.

How to release testflight beta version to external users?

Having submitted a beta version of my IOS App trough Itunes Connect and Testflight to INTERNAL users, and selected it for testing to EXTERNAL users, it displays "waiting beta app verification" (from Internal users) and I don't know how to release the app for EXTERNAL User. (see pict enclosed).
It did worked on past version but I don't know how ... times, upload from Internal users, approval from them (but don't know how).
Need to re-test then submit my app quickly, any help welcome !
NOTE : Apple displays help on old itune connect versions, and don't see where this can be done. See here
Apple says:
Upload a build for the app. See Uploading a Build for an App.
Add App Description and What to Test to the build. This step is optional for releasing your builds to internal testers, but required
when submitting your app to Beta App Review for external testing. See
Add Metadata for your Prerelease App.
Distribute the app to internal testers.
Submit the app for Beta App Review, and distribute it to External users.
You need to have every build reviewed from apple for distribution to external testers.
I'm not sure how it worked earlier, but for now
All builds distributed to external testers must pass through an Apple review. While these reviews do not fall into the same queue as those submitted for App Store release, they can take time.
In other words, you have to use button "submit for beta app review" ;)
You can find guides here: Ray Wenderlich or kyleclegg.com

Testflight - continue testing after 30 days?

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.

Resources