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
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.
I'm not an iOS developer but I'm faced with the need to publish our application to App Store. Sorry if it the questions sounds stupid:)
We need to make a test flight, just to show the app to our customer. The issue is that we need to do it not through Fabric and etc but through App Store, that's crucial.
Is there an opportunity to restrict the app to certain devices by UDID since the app is not ready? Thank you!
UPDATE I need to publish to App Store, not though Fabric or Test Flight and etc. I understand it should not be done this way but I have such requirements
try using diawi.com
Diawi is a tool for developers to deploy Development and In-house applications directly to the devices
You cannot distribute through app store and target some specific device.
If you publish on the app store then the app becomes visible to all.
If you would like to make some kind of restriction than make a login screen through which you open up the rest of the app, and give the credentials to your specific customer.
Using Test Flight you can share the app-store version to your customer based on his appleId
From https://developer.apple.com/app-store/review/guidelines/#before-you-submit
2.2 Beta Testing
Demos, betas, and trial versions of your app don’t belong on the App Store – use TestFlight instead. Any app submitted for beta
distribution via TestFlight should be intended for public distribution
and should comply with the App Review Guidelines. Note, however, that
apps using TestFlight cannot be distributed to testers in exchange for
compensation of any kind, including as a reward for crowd-sourced
funding. Significant updates to your beta build should be submitted to
TestFlight App Review before being distributed to your testers. To
learn more, visit the TestFlight Beta Testing.
You can publish to the App Store using Apple's B2B program, which will allow you to restrict sales to specific B2B customers of yours.
See: https://developer.apple.com/business/custom-apps/
We are uploading iOS app in TestFlight around 10 times, but we are not uploading upto now in App Store. Because of our app is not public app only for few people. We tried a lot to get Enterprise edition to distribute our app with in the organisation. But apple rejected for Enterprise edition. So thats way we are using TestFlight. I know latest TestFlight app has upto 90 days for single build. My final question is How many months or years we can survive in TestFlight with out uploading App Store ?.
Can i know the TestFlight upload builds restrictions, means number of total builds to upload TestFlight with out uploading app store and number of moths or years to survive with out uploading App Store.
i Have upload 83 build in test flight without uploading in Appstore.
There is no such a limit mentioned in TestFlight Doc. I have already uploaded 8 build for my one of the app.
Here is all you need to know about testflight
NOTE: you can upload as many as versions to testflight for an app for testing purpose, Each app can be tested by up to 25 members, each member can test on up to 30 devices.
Overview
To take advantage of TestFlight, simply upload a beta build of your app, and use App Store Connect to add the names and email addresses of people you’d like to test your app. Testers will install the TestFlight app for iOS, watchOS, and tvOS so they can use your beta apps and quickly provide feedback.
Internal Testers
Each app can be tested by up to 25 members of your team who have been assigned the Admin, App Manager, Developer, or Marketer role in App Store Connect. Each member can test on up to 30 devices. Internal testers can access all of your beta builds available for testing.
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.
Supported Apps
Up to 100 apps can be tested at a time, internally or externally, and builds remain active for 90 days after they are uploaded. TestFlight supports multiple builds of iOS apps, watchOS apps, tvOS apps, and iMessage apps at the same time
I have built this app for my cousin. Is there a way I can give it to him and only him? I know I can build it directly on his phone, but I believe that will only work for 30 days after the build, and he lives 8+ hours away so I cannot keep doing that. Any answers would be much appreciated!
If you build the app directly to his phone, the app will expire after 1 week or 1 year depending if you have a free developer account or a paid account. If he has a Mac accessible, he could download Xcode and you could send him the source project for him to build it to his own phone.
You could also use Apple's TestFlight service, which requires a paid developer account. This is probably the easiest and most Apple-approved method, but the apps will expire after 60 days unless you submit an update.
You could use also use a third-party distribution service like HockeyApp or buddybuild.
If you have a free Apple Developer account you can "side-load" the app onto your friend's device and it will last 7 days, it used to be 60 days but Apple changed this.
If you have a paid, $99 a year Apple developer account you can "side-load" the app onto your friends device and it will be on available for your friend's device for 60 days.
The ideal solution is to use Apple's TestFlight, than you can deliver multiple versions of your app quickly to your friend's device. Your friend simply installs the TestFlight app, to get your apps.
You can register your friends' Apple Ids under different roles such as Testers, Advertisers/Marketers, Administrators and control the apps they have visibility to.
Apple' TestFlight requires the $99 a year developer license, it is worth it though, if the $99 a year seems like an unnecessary expense than the app probably is not worth developing is the way I rationalize the expense.
Also, with TestFlight, app expiration is not a big deal because when the app is near expiration you simply provide a new build and your friend can get latest changes.
With 'side-loading" you have to keep physically getting your friend's device to deliver versions of the app and this gets old quick and goes strongly against the grain of agile development/rapid feedback of changes.
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