Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Using TestFlight with CloudKit development environment

Tags:

Is it possible to submit an app to the new TestFlight via iTunes Connect using the "Development" environment for CloudKit?

It seems that only AdHoc Provisioning Profiles ask for the preferred CloudKit container name (Production or Development) when doing an "Export" from Organizer, however AdHoc Provisioning profiles do not contain the "beta-reports-active" entitlement required to submit apps to iTunes Connect and allow TestFlight use.

SO it would seem if you want to use the new iTunes Connect version of TestFlight to test your CloudKit-based app, you have to use the Production environment. Has anyone else had this issue?

like image 774
nh32rg Avatar asked Nov 06 '14 21:11

nh32rg


People also ask

Do you need Apple Developer Program for TestFlight?

If you want to distribute your app to registered devices, to beta testers using TestFlight, or through the App Store, you need to join the Apple Developer Program. Apple creates an App Store Connect account for you and you can start uploading builds.

Do I need a paid developer account for TestFlight?

In order to sign it, you'll need to have a paid developer account. This also is valid for TestFlight. From Apple's page on TestFlight: 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.

Do TestFlight apps need to be approved?

Before your external testers can test your app, you must submit your app to Apple for review like you would with a regular App Store submission. These reviews tend to be quicker than normal app reviews, but there's no guarantee. Once approved, you can send your app to external testers.


Video Answer


1 Answers

I have also tried to do that, but I don't think it is possible. TestFlight is primarily for apps "that you intend for public release on the App Store." If you are beta testing with iTunes users, Apple expects you to be using the Production server, as the users will expect their content to survive over to the released product.

Personally, I just decided to switch to Production when I started using TestFlight. If you are just testing with internal users, then you still have the option of Ad Hoc distribution, which as you point out allows you to use either server.

By the way, you can change the server locally, so you can test Production from your debug builds.

The documentation states:

At runtime, CloudKit uses your app’s com.apple.developer.icloud-container-environment entitlement to discover whether you are using a Development or Production version of your provisioning profile.

So you can add this to your entitlements to set it to Production or Development:

<key>com.apple.developer.icloud-container-environment</key> <string>Production</string> 

You could try setting this field to Development and then pushing to iTunes Connect, but I'm guessing that Xcode will overwrite it during the upload to force you to use Production.

like image 180
Richard Venable Avatar answered Sep 17 '22 13:09

Richard Venable