Aaron Wojnowski
Aaron Wojnowski

Reputation: 6480

App "does not contain the correct beta entitlement"

I submitted an application for review and I notice that the build that I submitted has an issue associated with it saying that Build 168 does not contain the correct beta entitlement. I wasn't able to find information on this error anywhere. What does it mean and will it inhibit the review process? My app was submitted today with Xcode 5.1.1 for iOS 7 (not the Xcode GM). Perhaps this relates to Testflight?

App does not contain the correct beta entitlement

Upvotes: 78

Views: 69384

Answers (14)

Dunc
Dunc

Reputation: 18922

In XCode, select the Target and go to the Capabilities tab. Look for any "Fix Issue" links. If you can't find any, try toggling a capability (say Wallet) on and off again to regenerate your entitlements file.

Upvotes: 0

NaXir
NaXir

Reputation: 2413

I got same issue. After regenerating provisioning profiles I again got same issue. Then I uploaded binary via Xcode and it solved the issue.

It seems like issue is with Application Loader. Use Xcode to upload the binary.

Upvotes: 0

Zaldy Bughaw
Zaldy Bughaw

Reputation: 797

There are two step here:

  1. Regenerate your provisioning profiles. Especially the AppStore provisioning profile to make sure the beta entitlement is there.
  2. Archive and export your build by selecting the option "Save for iOS App Store Deployment"

enter image description here

Some of the mistakes comes from exporting the archive using the AdHoc deployment.

I bet Apple might remove AdHoc deployment in the future since TestFlight Beta Testing using AppStore builds serves the purpose.

Hope this helps.

Upvotes: 4

Vlad Grigorov
Vlad Grigorov

Reputation: 11378

I use Jenkins to make both Ad Hoc and App Store builds. In this case simply regenerating the distribution provisioning profile didn't help, because the app still missed the "beta-reports-active" entitlement.

I tried adding that entry to the custom entitlements file, used for building the application. This fixed the problem for submitting the app in iTunes Connect, but made the Ad Hoc builds invalid - they failed to install on my devices.

After all I ended up with two custom entitlements files, one with "beta-reports-active" entry and one without it. Jenkins builds the app without beta reports entry and signs it with the Ad Hoc profile to produce an ipa file for in-house testing. Then it resigns the app with the other entitlements file for App Store distribution.

Upvotes: 0

Etienne
Etienne

Reputation: 1207

For all it's worth I was using the Application Loader to upload the app and I never managed to get it to work (Application loader version 3.0 (620)). Once I tried using xCode via the Archive method things worked great. You can also tell if the Beta entitlement is present before submission.

enter image description here

Upvotes: 2

Teja Swaroop
Teja Swaroop

Reputation: 1159

I have also faced the same issue and resolved it by below mentioned steps

1.Create the Appstore Provisioning Profile and use that profile for Generating the ipa so that beta entitlement for the ipa will be enabled.

For the rest of the profiles the beta entitlement will be false

Upvotes: 0

Nitin
Nitin

Reputation: 1543

Please regenerate your provisioning profile. It will Fix this problem it's because the missing entitlement is now there beta-reports-active = 1 enter image description here

After creating the new provisioning profile, make sure the entitlement is there.

Here is how it should look like when you click in Organizer "Export.." -> "Save for iOS App Store Deployment":

enter image description here

Upvotes: 52

Oren
Oren

Reputation: 5103

You need to recreate provisioning profile (as everyone suggested), however you also need to distribute the IPA with an "App Store" distribution profile. If you're used to the old TestFlight distribution methods, you're probably signing the package with an "Ad Hoc" profile instead.

enter image description here

Upvotes: 18

Maciek Czarnik
Maciek Czarnik

Reputation: 6181

Yes, you need to recreate provisioning profile and one more important thing is that you need to provision your app with App Store distribution provisioning profile.

Here is how it should look like when you click in Organizer "Export..." -> "Save for iOS App Store Deployment": enter image description here

You can also convert .mobileprovision file to .xml with that command to see if there really is a beta-reports-active key in your entitlements.

security cms -D -i YourProfile.mobileprovision > YourProfile.xml

Upvotes: 25

Raghav
Raghav

Reputation: 645

I was also facing same issue but suddenly the message in the itunesconnect got changed to "To use TestFlight Beta Testing, this build must contain the correct beta entitlement. For more information, see the(Link)" in the prerelease section.

With TestFlight Beta Testing, you can distribute your prerelease builds to testers to collect feedback and prepare your app for release in the App Store. TestFlight Beta Testing is optional; you can submit your app for review without using it.

Ref: here

Upvotes: 1

hrchen
hrchen

Reputation: 1223

Actually you can still choose the uploaded "error" build and submit for review. The status will be changed to "waiting for review".

Upvotes: 0

Ryan Romanchuk
Ryan Romanchuk

Reputation: 10869

Apple gave us a little surprise yesterday without telling us. There is a new entitlement that is added when you regenerate your distribution certificate. When you regenerate, as others said, it should fix your problem. It's not due to magic though, it's because the missing entitlement is now there beta-reports-active = 1

enter image description here

Once you download your new provisioning profile, make sure the entitlement is there, rebuild your IPA and this warning should finally go away. If you manage your own Entitlements.plist be sure to include this new key.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
        <key>aps-environment</key>
        <string>production</string>
        <key>get-task-allow</key>
        <false/>
        <key>beta-reports-active</key>
        <true/>
        <key>application-identifer</key>
        <string>bkahblahblah</string>
    </dict>
</plist>

Upvotes: 45

Chris
Chris

Reputation: 1637

Regenerate all your provisioning profiles, fixes the problem 100%

Upvotes: 1

saemitang
saemitang

Reputation: 21

I just tried submitting a new build of my app using Xcode 6. It complains about the invalid provisioning profiles that I have for the built app. So I regenerated the provisioning profiles at Apple Developer website and import them in Xcode 6. Uploaded the new built binary using the new provisioning profiles and submitted for review. The new provisioning profiles includes beta entitlements that I think iTunes Connect is complaining about. Hopefully it will not complain about the beta entitlements later.

Upvotes: 2

Related Questions