Can I send a build to TestFlight without AppStore validation? - ios

I'm currently sending builds with the iTunes Connect, but it always run a AppStore validation of the application.
I feel like I'm doing something wrong because the app is raw and it's meant only for testers yet and I don't want the apple team (or, hopefully, robots) to process it every time for me.
Is it the "iTunes Connect -> TestFlight" chain a primary way to distribute the builds for testers?

In order for the app to be distributed to your testers - even Internal testers - it has to be installed on the device via TestFlight.
During the process of uploading to iTC, the app must pass at a minimum the necessary structure to enable it to be installed and run.
The "Apple Team" doesn't look at it unless you submit it for External testers, but the automated process will make sure you're uploading an actual app, not submitting a plain textfile (yeah, silly example, but you get the idea).

Yes TestFlight is the recommended way by Apple to distribute your beta application to testers.
However, there are alternative ways to send your application to beta reviewers, such as Fabric and HockeyApp.

Related

Exporting Xcode app for individuals to download over web server

I have an Xcode app that I have just finished developing. I do not wish to put this app on the App Store. Instead I would like to build the app and then serve it over my local host, so anyone connected to the URL on my network can simply download the app and use it.
How exactly can I achieve this?
One issue I am running into when selecting the organizer after archiving is that the buttons for export is grayed out. I am signing as my (personal team) but it does not seem to cooperate. How can I do this?
You have a few options here:
Enterprise developer account
Additional cost and can't upload to AppStore, users when installing for the first time have to trust the developer before the app will run
Ad Hoc profile
Requires adding UDIDs for all of the devices that you want to be able to run. Profiles will eventually expire (12 months I think). Would usually use this option with a service like HockeyApp/Diawi
Testflight
If you use internal testers then limited to 100 users that have to be invited to the Apple developer tea. If using external testers then can have much higher number of users, but app has to go through a short review process similar to when submitting for review to the app store

How can you distribute an app for testing if Apple reject it from TestFlight?

I have an app I wish to distribute to people for testing and evaluation.
The app is not intended for release to the app store. I tried to add it to TestFlight anyway but during TestFlight review Apple rejected it as its breaking an app store submission rule (why do they even need to bother reviewing TestFlight submissions when its not even been submitted to the app store yet?).
The latest versions of iTunes no longer has the ability to install an .ipa so that method of installation is no longer available.
Diawi is useful, but the lifetime that links on there are active is just a few days.
Is there some other easy alternative?
You can use Fabric to distribute test builds. You can find more info here
You can always use Fabric, Just take the testers emails and send them invitations.
refer to Fabric documentation for further info https://fabric.io/onboard
it's very simple and way faster then Testflight

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

iTunes connect spamming error emails to users

Every time we upload an app with an issue (missing entitlement, privacy string missing from the project's .plist), iTunes connect emails the error to every single one of the tester emails in our list, even if they're not registered to test for the application I am uploading.
Currently I am the only person in the list for this application, and yet it's sending the email to everyone testing an unrelated app.
How do I turn this ridiculous behavior off and stop annoying them?
This is not a bug. It is a 'feature' of PEBKAB.
The issue was another developer had quietly added the users to itunes connect as internal testers on a separate project. They had all been given a 'developer' role, and when I created the app, they were automatically put on the developer email list for that one, too.
A quick diddle of the users and roles table fixed it all up, no trip to Apple Support required.
Unfortunately this is just how iTunes Connect works. I have reached Apple complaining about this, their answer was that I should use External TestFlight distributions.
Honestly I really recommend you to use other beta distribution platform like beta by Fabric, the build process is using ad-hoc builds, in our team we use beta by Fabric for small builds then once we are almost ready to push to the AppStore we run a small test by using the final build in TestFlight.
I'm not saying Testflight External distributions are bad but is not the right tool for a daily workflow some times you can't afford waste 3 to 6 hours waiting for apple to approve your new build.

iOS Enterprise Development - TestFlight

I just received an email this morning that testflightapp.com will no longer be active as of 2/26/2015, and that I should be using the iTunes Connect TestFlight service instead. This is fine and dandy for app store apps, but most of my projects are enterprise apps, and that is not supported in iTunes Connect. On top of that, iTunes Connect TestFlight requires iOS 8, and a good chunk of Enterprise users are still on iOS 7.
Does anyone have a solution outside of TestFlight for deploying Enterprise iOS apps to a set of registered users? I am hoping there is an easier solution than setting up my own MDM, but at this point I think that may be the only option.
Tesflight is not available for iOS Enterprise development. See "If you’re distributing your app outside the store, you follow a slightly different process. You don’t have access to iTunes Connect and some app services so can skip those steps." at https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/Introduction/Introduction.html
Also see Apple discussion at https://forums.developer.apple.com/thread/9229 where it says "Enterprise apps can be tested internally using Ad-hoc distribution" if one wants to only have the app available to registered test devices.
From Apple's beta testing site:
Internal Testers
Get feedback quickly by sharing your beta builds with up to 25 members of your team who have been assigned the Technical or Admin role in iTunes Connect. Each member can test on up to 10 devices.
External Testers
Once you’re ready, you can invite up to 1,000 users who are not part of your development organization to beta test an app that you intend for public release on the App Store. Apps made available to external testers require a Beta App Review and must comply with the full App Store Review Guidelines before testing can begin. A review is required for new versions of your app that contain significant changes. Up to 10 apps can be tested at a time, internally or externally.
Only external testers are subject to the app store review and guidelines.
TestFlight Beta Testing
You can use the "download over the air" functionality that TestFlight uses. Apps like BetaBuilder (http://www.hanchorllc.com/betabuilder-for-ios/) will generate the HTML and manifest file for you, you just then need to upload it to some web space of your choosing and then provide a URL to your clients. There is a requirement of the app being hosted on HTTPS now.
I'm in the same situation as you. Multiple apps that need to be distributed with the enterprise cert so that QA and the like can access them.
Guess might have to update/check hockeyapp to see if it works fine with IPA's. We use that for our Android apps and it works well, so, ...
TestFlight was very convenient. OTA isn't hard, but access (i.e. internet access vs. intranet access) is what we need and getting another service ok'ed might be a fun thing.
It will be interesting to see the different answers here.

Resources