Application-identifier entitlement does not match

I recently updated to iOS 9 and WatchOS 2. Now when I try to build my watch app directly to an Apple Watch I get the following error:


"This application's application-identifier entitlement does not match that of the installed application. These values must match for an upgrade to be allowed."


All I can tell is this is a security issue. But it has been going on for a few days now and I can not wrap my head around what this error means exactly. My provisioning profiles look like they are formatted correctly and my app bundle identifiers match. Removing my apps, restarting, cleaning my project, killing derived data, and reinstalling my provisioning profiles does not seem to help at all. I even tried manually editing my entitlements files with application-identifier and the option for what the previous application identifier may be.


Any help around this error message would be more then helpful!


Thanks in advance!

Accepted Answer

I was finally able to fix this by restoring my Apple Watch.


Apparently if you have and existing WatchOS 1 app and try to update it to WatchOS 2 the bundle identifier changes and causes this error. If you update your watch you will need to do reset it if you had installed WatchOS1 app before updating that app to WatchOS2.

Answers

Hi,

I also have en entitlement mismatch error when trying to run my app to a device (ok on simulator).

How to pinpoint such mismatch ?

While checking it (in the Member Center), I notice that my application ID and Watch app/extension ID all have Game Center enabled, even if I don't remember adding it. The capabiliy is greyed out and can't be deselected. My app does not use Game center.


In my situation, this error may be linked to a mess in XC7 upgrade settings as pointed out in this thread: manually redoing Xcode 7 GM upgrade to recommended settings

I was finally able to fix this by restoring my Apple Watch.


Apparently if you have and existing WatchOS 1 app and try to update it to WatchOS 2 the bundle identifier changes and causes this error. If you update your watch you will need to do reset it if you had installed WatchOS1 app before updating that app to WatchOS2.

I see.

This may be my situation also. I currently sorted out the mess I did when upgrading to XC7, so my app is back to WatchOS1 for the time being. I'll be warned when switching again to WOS2.

This happened to me after installing a build from TestFlight and overwriting it with the debug build from Xcode.

Nothing helped, no clean build, no Derived Data voodoo …


How I finally got it working was:

- Delete debug build from phone (and watch if it’s still there).

- Download TestFlight build again.

- Install Test Flight Apple Watch app build from TestFlight app.

- Delete TestFlight Watch app build from Phone using the TestFlight app.

- Delete the TestFlight iOS app build from the phone

- Now everything seems back to normal. I can run the debug build from Xcode.

This happened to me after trying to recompile an older app in iOS 9.


XCode was signing my app automatically and choosing another provisioning profile. Changing the provisioning profile did the work.

XCode 7.1.1; iOS 9.1 - Same problem. Re-doing provisioning profiles, deleting the app from the iPhone 6 and rebooting the phone and restarting XCode (just for grins) did the trick.
Then I got an error "process launch failed: security". My phone was having trust issues (ha), but didn't automatically give me the "Trust" option. I found a simple YouTube video that showed me how to go to Settings>General>Profiles>Developer App>[Developer's Name] and there choose to "Trust" it.
Problem solved.