After upgrading to Sierra, "The executable was signed with invalid entitlements." - ios

The entitlements specified in your application’s Code Signing
Entitlements file are invalid, not permitted, or do not match those
specified in your provisioning profile. (0xE8008016).
I am specifically asking what can be done about this Xcode error in the case that the OS has been upgraded to Sierra, because that is the only significant thing in my situation that I believe has changed recently
EDIT: my capabilities settings have not changed, so I'm sure it's not that. I have found that it will work with Automatic Code Signing checked, but I'm still curious why all of a sudden it is necessary for me to check this.

Go to the 'Capabilities' tab in your project settings and see if the all of them are in order. The PassTypes entitlement was added anew to Xcode 8, whereas previously this didn't need to be a specific entitlement - it was sufficient if it was turned on in developer.apple.com.
When I first migrated to Xcode 8, I got a warning with a fix issue option.

Related

Entitlements for multiplatform applications in Xcode 14

When creating a Multiplatform Application prior to Xcode 14, Xcode would create a separate Entitlements-file for each target. Now, with Xcode 14, all targets use the same Entitlements file by default.
After adding the HealthKit capability to an Xcode 14 project and populating the "Privacy - Health Update Usage Description" Key with a string in Info.plist, then prompting a HealthKit authorization request, the screen asking the user to agree to the App using HealthKit data does not pop up. Moreover, the following error is printed in the console: Health request display failed: Missing application-identifier entitlement.
In an effort to fix this problem, I edited the Entitlements file manually to look like this:
Adding the application-identifier entitlement to the Entitlements file manually fixes the issue, however, as the same Entitlements file is also used by the macOS target, Xcode fails to automatically sign the app for macOS and gives the following error:
Provisioning profile "Mac Team Provisioning Profile: com.xx.xx" doesn't include the application-identifier entitlement.
Here you can see the error given in Signing & Capabilities:
What is the correct approach here? Should I manually create a second Entitlements file and separate them? If so, how would this be done? Or is there something else I'm missing?
Any help would be greatly appreciated.
Testing on a real device, without manually editing the entitlements file, the error disappears and the HealthKit permission request is shown appropriately.
Therefore, I believe the behavior above is just a Xcode/Simulator bug in the current beta.

com.apple.developer.contacts.notes - xCode still shows an error after getting access to the entitlement

We asked Apple to allow us to access the contact note field (com.apple.developer.contacts.notes) which was accepted (for development, we do not need to publish the test app).
We created a provisioning profile which includes com.apple.developer.contacts.notes
Added an entitlement file to the project which sets the Boolean for using that entitlement to true.
We selected manual signing and choose the provisioning profile which includes com.apple.developer.contacts.notes
It still says that com.apple.developer.contacts.notes-Entitlement is missing although it is shown correctly in xCode in the entitlement list.
Is this a bug in xCode?
xCode Version: 11.3.1
Thank you in advance!

Xcode invalid entitlements on very old iOS project

The iOS project I've been tasked with upgrading was written in 2013, using Objective-C and iOS 7 SDK. I updated it for the simulator to work with iOS 10.3 but have run into a problem with entitlements when compiling for a device (which I think will be an issue when packaging for the store).
The error is the standard
The entitlements specified in your application’s Code Signing
Entitlements file are invalid, not permitted, or do not match those
specified in your provisioning profile. (0xE8008016).
but as far as I remember, iOS 7 did not use entitlements in the same way (there is no entitlements file in our old repo). How do I fix it if the project was originally so old? Everything matches as far as I can tell so I don't know why it's causing an issue.
Maybe you could try one of that:
Clean your certificate and make it again on Member Center
Look your in Target> Build Settings > Code Signing > Code Signing Entitlements to confirm the code signing is correct or updated.
Go to your Target > Capabilities. Toggle On/Off or Off/On one of the capabilities.
In this case it was overlooking a build setting that Xcode doesn't seem to fill in.
For developing on devices at least, I had to add the path to the entitlements file in the Project section of build settings, not just the Target. This is under the "Code signing entitlements" row. After adding that entry, I was able to test on my phone again.

iTunes Connect submission code signing entitlements error Xcode 8

I am having trouble submitting my newest app update with Xcode 8 GM. I updated my iPhone and watchOS app in this update.
When trying to submit I get the following error:
iTunes Store operation failed. Invalid Code Signing Entitlements. Your
application bundle's signature contains code signing entitlements that
are not supported on iOS. Specifically, value 'QX3TDZXXXX.AppName'
for key 'application-identifier' in
'Payload/AppName.app/AppName' is not supported. This value
should be a string starting with your TEAMID, followed by a dot '.',
followed by the bundle identifier.
I set signing to automatic by checking "Automatically manage signing" in Xcode. Everything looks fine to me.
After searching for a solution everywhere I tried to change the Code Signing Identity in Build Settings to iOS Distribution. That also gives me an error right away:
AppName has conflicting provisioning settings. AppName is
automatically signed for development, but a conflicting code signing
identity iPhone Distribution has been manually specified. Set the code
signing identity value to "iPhone Developer" in the build settings
editor, or switch to manual signing in the project editor. Code
signing is required for product type 'Application' in SDK 'iOS 10.0'
I also:
cleaned project
restarted Xcode
rebooted my Mac
revoked my distribution certificate
Did someone else have a similar problem and knows how to fix it?
Thanks in advance!
What helped me was:
I unchecked "Automatically manage signing" and then check it on again.
After that Xcode told me it would reset the settings to the default and after that it finally worked.
I wasted more than a whole day on this but I finally found the solution!
Somehow in my Build Settings, the "Product Bundle Identifier" was only my apps name instead of the unique Bundle Identifier (e.g. com.YX.AppName).
Click on your project, choose your App, press Build Settings and search for "packaging". You should find it there.
Found this by creating a brand new project and comparing every single setting.
In case this is not what is wrong in your project, these are the things I found on this topic before. Maybe one of these things might help you:
project > Alt + Clean (Cleans the whole Build Folder)
restarted xcode (that helped many others!)
revoked all Provisioning Profiles and let Xcode create new ones (Xcode > Preferences > Accounts > View Details > Create next to iOS Distribution)
checked that all App ID names where right
for com.AB.CDE the name has to be "com AB CDE"
restarted PC
checked that Xcode and macOS were the newest version
Try this solution:
Create new "Provisioning profile" & import it.
Restart XCode
Uncheck "Automatically manage signing"
In the drop downlist select new provisioning profile.
Check "Automatically manage signing".
It should help you.
I had the same issue and none of the suggested workarounds here worked. I assumed it had to do something with how the XCode project is configured, so I tracked back and found out I was following this guide Building multiple versions of a React Native app and had missed the following step.
In the project’s info.plist, change the value of Bundle Identifier to
$(PRODUCT_BUNDLE_IDENTIFIER)$(BUNDLE_ID_SUFFIX)
EDIT : Turns out that was not the actual problem. I had to enable Push Notifications in Capabilities since the App ID on the developer console had it turned on.
Had the same issue. I restarted my laptop, rebuilt the release build, restarted Xcode, rebuilt the archives. Then it worked.

Xcode 6 invalid entitlements in my project

I want to distribute my app, but when I run it it shows me message:
The entitlements specified in your application’s Code Signing Entitlements file do not match those specified in your provisioning profile. (0xE8008016).
I already watch my distribution account and Capabilities in Xcode and
entitlements in them are the same. In what can be problem?
I also get this exception few times when I did something with provisioning profiles or capabilities, In my case its always in iCloudkit (xcode 6) issue, for some reason in app id (if you check in developer center) it assigned invalid or unwanted icloud containers to the app id. So i remove them and only added one correct container to fix this issue.
I had this problem recently, You will find many questions here with the same issue, check this question for the approved answer The executable was signed with invalid entitlements (iPhone build)
For me, I didn't do this. I tested the app on the device using the development certificate and the ad-hoc one, Then submitted it using the disruption certificate after making sure that there is nothing wrong with my certificates.
You probably need to check your Bundle ID value in both your .plist file and also here:
(This really is the most developer-unfriendly environment in use in 2016...)

Resources