Search code examples
iosxcodexcode6provisioning-profiletestflight

XCode 6.1 creates provisioning profiles that are EXPIRED on testflight


I want to be able to deploy using Testflight which currently tells me that my provisioning profile has EXPIRED.

XCode 6.1 seems to automatically generates provisioning profiles that look like this:

0 total devices against the distribution provisioning profiles

e.g. XC: * and XC: bundle.identifier.

And these don't seem to contain any devices, despite my UDID being setup against my team.

When I try to send an app to iTunes Connect (hoping to begin to use Testflight) it has hardcoded this provisioning profile:

hardcoded XC: bundle.identifier

This is all well and good but Testflight is telling me that my app's provisioning profile has EXPIRED.

I thought that perhaps I could fix this with my own Adhoc provisioning profile, and so I created one:

Adhoc provisioning profile exists

And I made sure that it was setup to use this for the Release profile:

Setup to use the Adhoc provisioning profile

But I still see the same provisioning profile is being picked on submission:

wrong provisioning profile appearing

I've also tried:

  1. Deleting all of the provisioning profiles from my device.
  2. Deleting all of the provisioning profiles from the Apple Developer area.

I seem to have no control over (1) which provisioning profile is selected on an iTunes Connect validation/submission, and (2) no ability to place devices against one of the automatically generated XC provisioning profiles.

How can I fix this?

I want to be able to deploy using Testflight.

Edit

  1. I read somewhere that this will be nothing to do with my device.
  2. And I realise that I was trying to apply an Adhoc provisioning profile in the wrong way.
  3. I tested another device and it was not "EXPIRED". However it did not work, the build crashed immediately after the loading screen.
  4. I was able to adhoc provision an ipa to my own device. (This skips the step in which it appear as EXPIRED on Testflight.) However, unfortunately it also crashes if I do this.

Solution

  • There were two problems:

    1. The reason that the build was appearing as EXPIRED on Testflight was that I needed to alter the language of my device to "English (UK)", presumably so that it matches the builds... See this person with a similar issue.

    2. The reason for the crash looks like a bug in XCode 6.1 with Release compilations of Swift code. I had to change the optimization level as this person had to do in order to have a binary that doesn't crash.