I encountered an issue deploying my app to iTunes Connect earlier today. Once I had worked out all the kinks with the Swift and WatchKit libraries, I was able to deploy a valid binary to iTunes Connect, but Apple was still complaining about an invalid beta entitlement within my app.

To use TestFlight Beta Testing, build 26 must contain the correct beta entitlement. For more information, see the FAQ.

After some research, I discovered that Apple recently snuck in a new entitlement to provisioning profiles, beta-reports-active. Luckily, all you need to do to resolve this issue is regenerate your App Store provisioning profiles.

In the Apple Developer Center, navigate to the “Certificates, Identifiers, & Profiles” section and click the “Provisioning Profiles” tab. From there, edit each one of your Provisioning Profiles and click the “Generate” button at the bottom of the page. This will regenerate the profile and will include the new entitlement.

To verify that your profile has this new entitlement, change the .mobileprovision extension to .xml and open it up in Xcode. Search for the following:

<key>beta-reports-active</key><true></true>

Keep in mind that only App Store distribution profiles include this entitlement. Ad Hoc distribution profiles do not. If the entitlement is present, your profile is good to go. Configure your app to use this new provisioning profile and you should no longer encounter any beta entitlement issues with iTunes Connect.