77

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

rmaddy
  • 314,917
  • 42
  • 532
  • 579
Aaron Wojnowski
  • 6,352
  • 5
  • 29
  • 46

14 Answers14

50

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

Nitin
  • 1,383
  • 10
  • 19
  • Do you need to re-upload your binary file after regenerating the provisioning profile? – AndroidDev Sep 10 '14 at 13:49
  • @usr55410 The binary has to be re-signed, so yes. – Aaron Wojnowski Sep 10 '14 at 14:11
  • This worked for me. Had to go in to each one and click edit -> generate. Then deleted all old ones from my machine and added the new ones. Definitely a pain but regenerating worked. – Kalel Wade Sep 10 '14 at 18:32
  • @youshunei Make sure to delete the old ones and explicitly make new ones. – Aaron Wojnowski Sep 10 '14 at 18:35
  • @AaronWojnowski Thanks for suggestion. Delete old provisioning is worked. – anhduongt Sep 11 '14 at 12:04
  • 6
    Does this work with AdHoc provisioning profiles? I regenerated and I'm still getting the warning. – Mr Rogers Sep 16 '14 at 15:59
  • Hi all.. i am getting the same warning. Can you tell me does applecan reject my app if I don't fix this warning? – user2786 Sep 17 '14 at 13:15
  • Yep, worked for us too, deleted old ones and added new. And yes, seems we had to re-submit the binary. – EdwardM Sep 18 '14 at 22:55
  • 1
    I'm still having the same problem, and I delete all provisioning profiles from the dev portal and local machine, and still no beta-reports-active is found, and TestFlight still does not work. – jpswain Sep 26 '14 at 22:57
  • @Nitin What file is this and how do I view it to confirm? thanks in advance. – cbartel Oct 07 '14 at 18:06
  • 8
    @Mr Rogers: had the same issue and chose to export my IPA for App Store to get the missing entitlement. The entitlement is not added if you select AdHoc. – lorenzo Oct 29 '14 at 10:08
  • Do any contained Today extensions have to have the beta-reports-active flag to work with TestFlight as well? – jervine10 Nov 21 '14 at 15:18
  • @cbartel Here is how it should look like when you click in Organizer "Export..." -> "Save for iOS App Store Deployment": I am updating the answer too please look into it – Nitin Feb 20 '15 at 06:34
  • 1
    this answer does not helps me. I have the same issue, but regenerating the profile dont help. what are the exact step to do ? create a provisionning for what ? dev or distri ? after that what to choose ? ad hoc , distri or dev ? (thanks apple for making clear interfaces :) ) I tested all and the beta-reports-active still not present – Nico AD Apr 22 '15 at 06:44
45

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>
Ryan Romanchuk
  • 10,819
  • 6
  • 37
  • 41
  • I managed to submit the app just fine. Just a little worried about the warning on the build. – Aaron Wojnowski Sep 10 '14 at 04:22
  • 1
    @AaronWojnowski i think you are fine. Just bad design by apple. – Ryan Romanchuk Sep 10 '14 at 04:25
  • 1
    Yeah I imagine I would just have to provision it differently to be compatible with Testflight and this isn't related to the actual App Store distribution. Would suck if it is though, and I had to go through the review queue again to find out. – Aaron Wojnowski Sep 10 '14 at 04:26
  • 2
    I know it's not your issue, but if you had to take a best guess, what do you think apple is trying to say here? The docs they link are old. What is the correct "beta entitlement"? So confusing o_O – Ryan Romanchuk Sep 10 '14 at 04:28
  • I imagine you have to sign it with a special (read: new) provisioning profile. That would be my best guess. However, when I try to generate new ones, it doesn't mention beta entitlements at all so that guess may be out in left field. – Aaron Wojnowski Sep 10 '14 at 04:29
  • That's what I thought ಠ_ಠ, now i'm actually tinkering with entitlements to see if i can get it to budge. – Ryan Romanchuk Sep 10 '14 at 04:32
  • I got excited when I saw this because it makes sense, but I both regenerated my distribution cert and all of my provisioning profiles and the new provisioning profiles don't don't include any mention of the `beta-reports-active` flag. – eremzeit Sep 18 '14 at 23:17
  • I also have problems with the beta-reports-active. I tried regenerate many times, but there is no such flag. – ArisRS Sep 23 '14 at 06:31
  • Please make sure you guys make new "DISTRIBUTION PROFILE", it wont works on AdHoc profiles. beta-reports-active available only on DISTRIBUTION PROFILES. – Harjot Singh Sep 09 '16 at 03:24
25

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

Maciek Czarnik
  • 5,950
  • 2
  • 37
  • 50
  • I was exporting my app for ad hoc, not the app store. Once I set the app to export for the app store, only then did the beta-reports-active get set to 1. – Jacksonkr Dec 02 '15 at 23:31
  • just to emphasis **MAKE THE PROVISIONING PROFILE FOR APP STORE DISTRIBUTION** – Mike Mar 06 '17 at 19:58
18

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

Oren
  • 5,055
  • 3
  • 34
  • 52
  • Deleting the profiles didn't work. This option worked for me. Even, while distributing for AdHoc, you have to choose Submit to the iOS store – Rushikesh Gomekar Feb 06 '15 at 11:13
  • Yeah this is what worked for me as well. The thing I missed was that you needed app store provisioning… makes sense, kinda… :) – Corey Floyd Mar 31 '15 at 04:01
4

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.

Zaldy Bughaw
  • 797
  • 8
  • 16
2

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.

saemitang
  • 21
  • 2
2

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

Etienne
  • 1,197
  • 10
  • 19
1

Regenerate all your provisioning profiles, fixes the problem 100%

Chris
  • 1,637
  • 1
  • 14
  • 20
1

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

Raghav
  • 625
  • 1
  • 12
  • 31
0

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

hrchen
  • 1,223
  • 13
  • 17
  • This is because the warning indicates that you're missing an entitlement which blocks the possibility to distribute this build to the internal testers. But it doesn't mean the signing is wrong for App Store distribution. – Leon Sep 15 '14 at 07:35
0

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

Community
  • 1
  • 1
Teja Swaroop
  • 1,139
  • 12
  • 18
0

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.

Vladimir Grigorov
  • 10,903
  • 8
  • 60
  • 70
0

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.

NaXir
  • 2,373
  • 2
  • 24
  • 31
0

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.

Dunc
  • 18,404
  • 6
  • 86
  • 103