itunes connect - not contain the correct beta entitlement - ios

I read that:
App "does not contain the correct beta entitlement"
I recreate production provisioning profile
I checking info.plist
Still the same bug. Last answer from topic above is recreate xcode entitlement "So the solution is to provide the entitlement in your plist 1) please turn on in-app purchase & game Center capabilities then turn it of again , this will add the missing entitlement AS Follow "
can you answer what .plist is generate (not info.plist?) and what data is changed after it (what section). Because I manualy edit info.plist (Marmalade SDK application), I can't edit entitlements from XCode.

The new itunes connect is buggy. Try:
Regenerate you iOS Provisioning Profiles (Distribution), then rebuild your binary with the new provisioning profile file and resubmit.
Actually you can still choose the uploaded build and submit for review. The status will be changed to "waiting for review".

Related

Xcode 8.1 "Provisioning profile doesn't include the aps-environment entitlement"

Is anyone experiencing this problem?
After persistence problemas and information retrieval on the KeyChain I had enable
the KeyChain Sharing feature in Capabilities.
This was to create a file called .entitlements
So, when I gonna run the Archive this error occurs:
Check Dependencies:
Provisioning profile doesn't include the aps-environment entitlement.
Code signing is required for product type 'Application' in SDK 'iOS 10.1'
I'm using OS El Capitan 10.11.6, Xcode 8.1
If anyone can help.
Pleaseeee....
Check the Capabilities tab on your target and make sure the Add the Push Notifications entitlement to your entitlements file shows a check mark (under Push Notifications). If it shows an error, fix and you should be good to go.
For my case, Xcode 9
Case 1:
I used fastlane match before I added push notification capability and entitlement file.
Solution 1:
Run fastlane match again. It will detect that the provisioning profile is no longer valid since you added capabilities and will regenerate again, and push to your repo.
Case 2:
I used fastlane match before I added push notification capability and entitlement file.
I regenerated the invalid provisioning profile in the developer.apple.com account manually. So when I ran match, I got error
Provisioning profile '4d89b10f-568e-400d-a4e9-c96e0a51fd46' is not
available on the Developer Portal for the user a#xyz.com Make sure to
use the same user and team every time you run 'match' for this Git
repository. This might be caused by deleting the provisioning profile
on the Dev Portal
this may also happen when you press Fix Issue from Xcode
Solution 2:
Step1: delete the invalid provisioning profile from your certificates repo
Step2: run
fastlane match
It can happen that you have two entries for the "Apple Push Notifications Service" in your Entitlements file. This seems to be a bug in XCode (even in v8.2), which it cannot resolve by itself.
Open your Entitlements file in the text editor of your choice.
I had the following duplicate entries in my Entitlements file:
<key>aps-environment</key>
<string>development</string>
<key>com.apple.developer.aps-environment</key>
<string>development</string>
Try deleting one of the two key-value pairs. For me, deleting the first entry aps-environment solved the issue.
When you add push notifications to your app.
If you already have a provisioning profile.
It will become invalid.
You have to go to developer.apple.com
Edit your provisioning profile.
Then download the newly created one and double click on the same.
XCode will automatically replace the last one which became invalid.
Also verify that the apple id that you created on the Developer portal (developer.apple.com) has Push Notifications enabled. I faced it when I created the provisioning profile before enabling push notification on the app id so I had to edit the app id.
Target -> Capabilities
Make sure the Add the Push Notifications entitlement to your entitlements file shows a check mark under Push Notifications.
If it shows an error, than fix it.
I just Quit xcode and open it again resolved my issue. xcode (Version 11.7 (11E801a))
Make sure your project Bundle Identifier matches the App ID certificate at Developer portal.
i added this to my entitlements.plist and it's done.
<key>aps-environment</key>
<string>production</string>
I use "ionic package" and this work for me:
Go to https://developer.apple.com/account/ios/identifier/bundle
Edit "iOS App IDs" checking "Push Notifications"
Go to https://developer.apple.com/account/ios/profile
Regenerate and download app "iOS Provisioning Profiles"
Resend ".mobileprovision" file to Certificates in ionic apps panel
Work again "ionic package..." command

Xcode 8 "the aps-environment entitlement is missing from the app's signature" on submit

I've got an app that we've submitted dozends of versions to in the last 6 months and we do use APNS. I got the following email from Apple after upgrading to Xcode 8
Dear developer,
We have discovered one or more issues with your recent delivery for
APP_NAME. Your delivery was
successful, but you may wish to correct the following issues in your
next delivery:
Missing Push Notification Entitlement - Your app includes an API for
Apple's Push Notification service, but the aps-environment entitlement
is missing from the app's signature. To resolve this, make sure your
App ID is enabled for push notification in the Provisioning Portal.
Then, sign your app with a distribution provisioning profile that
includes the aps-environment entitlement. This will create the correct
signature, and you can resubmit your app. See "Provisioning and
Development" in the Local and Push Notification Programming Guide for
more information. If your app does not use the Apple Push Notification
service, no action is required. You may remove the API from future
submissions to stop this warning. If you use a third-party framework,
you may need to contact the developer for information on removing the
API.
After you’ve corrected the issues, you can use Xcode or Application
Loader to upload a new binary to iTunes Connect.
Regards,
The App Store team
What is weird is I went to developer.apple.com -> Certificates, Identifiers & Profiles and my AppId does have Push Notifications enabled still. I'm not doing anything different then I've ever done on it so am curious if the Xcode 8 update broke something. Any ideas?
BTW: The link they put for the Push Notification Programming Guide was broken in the email, so that's not a good sign.
Very easy actually. For some reason it got disabled on Xcode 8 but go to Targets -> Capabilities and verify Push Notifications is all correct on that view. For me it had a "Fix Me" I had to click, and voila.
I also have the same problem, and I'm sure Push notification is off by default in Xcode8. I didn't notice it. Be careful about it.
There was a change in Xcode 8, where your entitlements no longer come from the App Identifiers, but from the capabilities selected in your app target. So, like Unome (the OP) said, you have to verify that Push Notifications is switched on.
For me, it wasn't a "Fix Me" button, but I had two entitlement files (one for development and one for distribution). Toggling the Push Notifications capability would add the aps-environment key - with the value development - to the development entitlements file, but it wouldn't add it to the distribution entitlements file. Copying the same key over to distribution worked to get rid of the warning email when uploading to iTunes Connect.
For most projects, it should be sufficient to toggle on Push Notifications, or if it's already on but the key isn't in the entitlements, try toggling it off and on again.
It's also worth noting that entitlements automatically get updated during archive. ie the entitlements generated for release builds can be different from entitlements generated for development builds. See here
During the app distribution process through the Xcode Organizer >
Archives tab, entitlements are set onto the app by way of the
provisioning profile used for code signing. It is important to be
aware that the re-application of entitlements at this phase creates
the opportunity for unintended entitlement differences between any
prior development builds you may have tested. The primary purpose of
this document is to verify that your entitlements are correct for your
distribution builds for beta testing and App Store submission.
From the Xcode release notes:
Xcode 8 does not automatically copy the aps-environment entitlement from provisioning profiles at build time. This behavior is intentional. To use this entitlement, either enable Push Notifications in the project editor’s Capabilities pane, or manually add the entitlement to your entitlements file. (28076333)
This is a great change as it was always quite odd that the aps-environment entitlement didn't require the plist, but many others did.
For those of you that do not want to just blindly press "Fix Me" and do not currently have an entitlements file, it is just a plist file which is referenced in your project's Build Settings under "Code Signing Entitlements"
After a day of struggle with Xcode 8 we could not figure out why the aps-environment development was NOT added to our debug builds. It was missing from the entitlements section in the built app for debug testing... even though we had ENABLED the new Capability and the entitlements file existed. The issue is that the entitlements file needs to be set for ANY SDK in the Xcode Build Settings for Debug Entitlements.
I got the same email from Apple using XCode 7.3.1. What I did to solve the problem was:
Under Capabilities > Set PUSH notification ON as stated in #Bruce Tsai answer.
Under Build-Settings > Code Signing > Code Signing Identity set the developer cert for debug and the distribution cert for release, as is shown in the image:
Automatically manage signing was off for me, i checked and working fine for me.
If you're using Firebase frameworks and aren't using push notifications there are two solutions 1. just put up with the 'issue' message that gets sent to your whole team every time uploading a binary. The app will still be accepted as a submission as long as you're not actually using notifications you can ignore the warning. or 2. do this: https://stackoverflow.com/a/46802075/7529450 . This will remove the annoying email notification and also get accepted as a submission.
Using Xcode 9 push Notifications was enabled.
I tried disabling/re-enabling Push Notification capabilities. (didn't work)
I tried disabling/re-enabling Automatically manage signing. (didn't work)
Turns out I had to delete and re-add my provisioning profiles. (see here how to do it)
You might have to disable/re-enable Automatically manage signing after wards.
For me the problem was because there were two entitlements files: Entitlements-Debug.plist and Entitlements-Release.plist. And only one of them (Debug) has needed settings in it.
Changing multiple value of Build Settings > Signing > Code Signing Entitlements to a single MyAppName/MyAppName.entitlements and then reenabling Capabilities > Push Notifications switcher did the trick for me.
Hope it helps.
One more option that worked: copy-pasting the source of AppName/Entitlements-Debug.plist into AppName/Entitlements-Release.plist.

Build 1.0.0 does not contain the correct beta entitlement. For more information, see the iTunes Connect Developer Guide

Build 1.0.0 does not contain the correct beta entitlement. For more information, see the iTunes Connect Developer Guide.
I uploaded my App to the iTunes Connect a couple of days ago with the initial version number 1.0.0 and it's under "Waiting For Review" status. I explored this warning message under the "Prerelease" section today. Does anyone seen this before? Will apple reject my App based on this warning? And how do I fix this issue please?
Regenerate you iOS Provisioning Profiles (Distribution), then rebuild your binary with the new provisioning profile file and resubmit. It's gonna work.
I have the same problem and resolved it by recreate appstore provisioning (old provisioning made this error)
i face this problem and it was because missing entitlement .
although i dont use in-app purchase nor game center capabilites "entitlement" in my app but it declared in APP ID when you create it in developer portal and enabled by default as you see below image
So the solution is to provide the entitlement in your plist
1) please turn on in-app purchase & game Center capabilities then turn it of again , this will add the missing entitlement AS Follow

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?
Please regenerate your provisioning profile.
It will Fix this problem
it's because the missing entitlement is now there beta-reports-active = 1
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":
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
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>
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":
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
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.
There are two step here:
Regenerate your provisioning profiles. Especially the AppStore provisioning profile to make sure the beta entitlement is there.
Archive and export your build by selecting the option "Save for iOS App Store Deployment"
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.
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.
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.
Regenerate all your provisioning profiles, fixes the problem 100%
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
Actually you can still choose the uploaded "error" build and submit for review. The status will be changed to "waiting for review".
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
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.
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.
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.

how to disable inter audio app in xcode

I'm trying to upload my first app to the app store but the code gets rejected after uploading.
The email I'm getting reads as follows:
Dear developer,
We have discovered one or more issues with your recent delivery for "iCard Counter". To process your delivery, the following issues must be corrected:
Invalid Code Signing Entitlements - Your application bundle's signature contains code signing entitlements that are not supported. Please check your Xcode project's code signing entitlements configuration, and remove any unneeded entitlements.
Specifically, key "inter-app-audio" is not supported.
Once these issues have been corrected, go to the Version Details page and click "Ready to Upload Binary." Continue through the submission process until the app status is "Waiting for Upload." You can then deliver the corrected binary.
Regards,
The App Store team
so how do I disable this illusive inter-app-audio in xcode.
Thanks a bunch
You need to go to the Certificates, Identifiers & Profiles section of Apple's iOS Developer Portal and then select your application identifier to view what entitlements are currently enabled.
For example, here's one of my apps:
If you click on "Edit", you can enable or disable various entitlements.
You may need to re-download updated provisioning profiles before resubmitting to the store.

Resources