Richard J. Ross III
Richard J. Ross III

Reputation: 55563

The entitlements specified...profile. (0xE8008016). Error iOS 4.2

I am getting the 'dreaded' error The entitlements specified in your application’s Code Signing Entitlements file do not match those specified in your provisioning profile. (0xE8008016). when trying to deploy my first app to an un-jailbroken device on iOS 4.2.6 (Verizon). The thing is, I do not have a Entitlements file in my project, as I am not distributing it at all, only putting it on one device. I have gone through all the hoops and loops apple puts you through (certificate, device, provisioning) down to the letter, and I cannot figure out what is going wrong.

Can anyone please help me with this problem?

Upvotes: 144

Views: 138369

Answers (30)

carbonblack
carbonblack

Reputation: 1

This seems to work for me when I encounter this:

  • Turn off all entitlements under Capabilities
  • Install app with a basic provisioning profile (no app groups, without push, no keychain sharing, etc)
  • Change the entitlements back and switch back to your proper provisioning profile. I undo the above changes using source control.

Flipping entitlements off/on alone didn't work for me—including uninstalling and reinstalling the app in between, deleting DerivedData, and restarting Xcode. It seemed I actually had to deploy the app in this configuration for it to go back to working properly.

I've had this issue several times when my provisioning profile gets updated and I reload it into Xcode. Nothing had changed with the entitlements allowed by the provisioning profile so everything should have matched as before. It may have worked to delete my entitlements file and recreate it as other uprooted answers suggest, from the Capabilities tab, too; but I use the above method to avoid random/no-op changes to my entitlements file that's checked into source control.

Upvotes: 0

Mohebifar
Mohebifar

Reputation: 3411

If you're using react-native, make sure that the Test target has the same provisioning profile as the main one.

Upvotes: 44

Carlos Jiménez
Carlos Jiménez

Reputation: 158

For me check the "Automatically manage signing" option in Target solve the problem!

Upvotes: 4

Cristik
Cristik

Reputation: 32780

Happened to me on Xcode 8, it was partially caused by the new Provisioning Profile build setting, as in this Xcode version there are two entries for provisioning profile:

  • Provisioning Profile
  • Provisioning Profile (Deprecated)

My fault was that I updated only the first one, and the deprecated entry was still pointing to an invalid provisioning profile. Changing both to the same value solved the issue (clearing the deprecated entry should also have the same effect).

Upvotes: 2

user3867473
user3867473

Reputation: 1

I also encountered the same problem, I was such a solution.

First of all to be clear: provisioning profile must choose "Automatic" to debug.

If provisioning profile is "adhoc", then you can not debug, and can only export the ".ipa" file, import to iTunes for installation.

Upvotes: -1

Henry Heleine
Henry Heleine

Reputation: 672

My provisioning profile from Apple developer matched my Xcode capabilities but it still wouldn't build onto my device until I did the following:

  1. Remove/Delete the entitlements file from your Xcode project.

  2. Go back to the Xcode capabilities tab

  3. Hit "Fix Issue" button to get Xcode to re-add the entitlements file.

Worked for me, hope it helps someone.

Upvotes: 2

UglyBlueCat
UglyBlueCat

Reputation: 477

The code I was working on had a different bundleid in the Info-plist than in the Product Bundle Identifier build setting.

I found this because I noticed this message in the device console in the devices view:

MIS: entitlement 'application-identifier' has value not permitted by provisioning profile 'iOS Team Provisioning Profile: com.xxx.yyy'

Upvotes: 1

Daisy R.
Daisy R.

Reputation: 633

Check KeyChain Access!

In my case I was using the wrong distribution certificate associated with the provisioning profile.

Upvotes: 1

apb
apb

Reputation: 3370

One more potential problem that will throw this error message: If you're using a perfectly valid provisioning profile for you main app, but have an expired or otherwise invalid provisioning profile for your Today widget extension. I imagine it'd be the same for an Apple watch extension as well.

Check all the profiles!

Upvotes: 1

Elijah
Elijah

Reputation: 8610

This happened for me when I tried installing my app on a new device. I solved it by selecting Automatic for all of my Provisioning Profiles. After doing that and trying to install again, it now let me know that I just needed to add this new device to my profile, and gave me a Fix Issue button, which solved it.

Upvotes: 0

Jeremy Kelleher
Jeremy Kelleher

Reputation: 287

This is what solved my problem: Deleting the path in the Code Signing Entitlements section of the Targets build settings.

Upvotes: 2

nsinvocation
nsinvocation

Reputation: 7637

If you didn't change anything related to certificates (didn't replace or update them) just do a Product -> Clean. It helped me several times. (Xcode 6.2)

Upvotes: 3

bobsacameno
bobsacameno

Reputation: 765

I had the same problem in my app, after a few month this specific app worked fine.

The problem was that the Capabilities configured in my Xcode project (under Targets -> {ProjectName} -> Capabilities) were not the same as the Capabilities configured in the provisioning profile (you can check that in the Apple member centre under Identifier -> App Ids -> {your app ID}. In the member centre I saw that Game Center is enabled and so in my project I also enabled Game Center. Then the app was able to launch.

I don't know how it worked until now. That's still a mystery :)

Upvotes: 4

ZpaceZombor
ZpaceZombor

Reputation: 887

Keep your entitlements file in Target> Build Settings > Code Signing > Code Signing Entitlements.

Go to Target > Capabilities. Toggle On/Off or Off/On one of the capabilities.

Run.

Upvotes: 20

MTahir
MTahir

Reputation: 1171

For me in Xcode 5.1 I was getting The entitlements specified in your application’s Code Signing Entitlements file do not match those specified in your provisioning profile. when trying to test the app on my device. Device Development Certificate has to expire Feb 2015.

Issue was resolved:

Selected Target->Capabilities, under GameCenter, here I was getting error on GameCenter entitlement as it was not added to project, although first version of application was released via same XCode 5.1 but there were no errors like this before.

Below, a button was given with title Fix Issue. When clicked it added the GameCenter entitlement and issue was resolved.

After wards the screen looks like:

enter image description here

For me, there was nothing to do with certificate. App now runs successfully on the device.

Upvotes: 1

thst
thst

Reputation: 4602

The issue for me was trying to sign the application with the app store distribution certificate. Switching the cert to the Xcode generated Team provisioning profile fixed the issue.

Upvotes: 0

chings228
chings228

Reputation: 1889

i'm using xcode 6 and encounter this issue for one particular iphone 4

finally , i go to device => provision profile =>

and then add the profile manually and problem is fixed .

Upvotes: 1

Joe Barbour
Joe Barbour

Reputation: 842

This worked for me...

  1. I deleted the Entitlements file from the target.
  2. Deleted the app off all my devices
  3. Cleaned the build in Xcode
  4. *optional delete the provisioning profile and re-add it

Hope it works for you guys too :)

Upvotes: 2

Thomas Mondel
Thomas Mondel

Reputation: 1994

Happened to me when I was trying to use an app store distribution provisioning profile for local test by mistake. When I used the proper development profile it worked just fine. Maybe this helps somebody too.

Upvotes: 2

Fogh
Fogh

Reputation: 1305

I fixed this by generating my provisioning profile again (and again).

Upvotes: 0

ViperMav
ViperMav

Reputation: 81

I had the same problem as 'Snips' above - I forgot to add my phone to an updated dev provisioning profile! Just go to the provisioning portal, add your phone & then download the new profile. And agreed - the message you get isn't very helpful!

Upvotes: 0

Erhan Demirci
Erhan Demirci

Reputation: 4209

I had old project and same problem and I solved .

1.Go to summary
2.Summary have keychain groups and delete keychanin groups's object.

I hope it's will work for you . Regards.

Upvotes: 1

kurtzmarc
kurtzmarc

Reputation: 3137

I ran into this problem today and I was pulling my hair out trying to figure it out. Like many people here, it would work if I removed the iCloud options in my entitlement file. When I would go to debug the app with the iCloud options enabled then I would get the 0xe8008016 error. This was right after revoking and regenerating new certificates.

So what solved it for me was to turn on iCloud support for the automatically generated Xcode team profile. Log onto the online provisioning tool, go to App IDs, click on Xcode iOS Wildcard App ID, click on edit, enable iCloud by checking the checkbox, and finally clicking Done. Refresh your profiles in Xcode and then it will start to work.

This makes some sense - when you're debugging it defaults to the team profile and the team profile needs to have iCloud turned on.

Upvotes: 2

zhuang.zyh
zhuang.zyh

Reputation: 11

If you have the certificate for Apple IOS Developer, there is no need to set value for key:"Code Signing Entitlements". Build Settings -> Code Signing Entitlements -> delete any value there.

Upvotes: 0

neoneye
neoneye

Reputation: 52201

  1. Open 'iOS Provisioning Portal' in Safari.
  2. Tap 'Devices' in the sidebar.
  3. Register your device's UDID
  4. Tap 'Provisioning Profiles'
  5. Edit your apps profile.
  6. Select the device your have just added.
  7. Download the .mobileprovision file.
  8. Install it.
  9. Build again.

Upvotes: 5

CesareoAguirre
CesareoAguirre

Reputation: 1607

Check your entitlements against your app bundle id. It is probable it is not the same.

The way this still do not work is when I export for testing in my device but in Release mode.

That work to me.

Upvotes: 0

Lawrence Kesteloot
Lawrence Kesteloot

Reputation: 4348

My problem was that the scheme was having Archive point to Release, and Release in the Build Settings had the Code Signing Identity set to the one of the automatic profile selectors. Well the "automatic" did the wrong thing (and in fact changed what it pointed to since two days ago), and was pointing to a different profile than the one I was selecting when creating the ad-hoc release. Pointing the identity to an explicit setting and using that same profile when distributing fixed the problem.

Upvotes: 0

YoonHo
YoonHo

Reputation: 1066

In my case, it looks like Xcode (secretly) reset the Scheme. I found that the build configuration for Archive was set to Release instead of distribution one, and after I changed it to the correct one, it worked.

I think it is better to check the Schemes as well as the build settings.

Upvotes: 1

user739711
user739711

Reputation: 1872

These steps solved my problem:

  1. Go into organizer
  2. Devices
  3. select your device
  4. Delete the particular profile.
  5. Run again

Tada...

Upvotes: -2

PinkFloydRocks
PinkFloydRocks

Reputation: 808

Just putting in my 5 cents here. For me none of the above worked, so I was forced to stress down and actually look at every part of the process with fresh eyes.

In rushing this I forgot that I was trying to install my app on a totally new device.

So my error was that I hadn't updated my provisioning profile by ticking off my new device int the "Devices" section of the provisioning profile setup in the Provisioning Portal.

Apparently not including your device in the provisioning profile also generates this error message.

Upvotes: 15

Related Questions