Xcode6:Embedded binary is not signed with the same certificate as the parent app

IosXcodeIos8Xcode6Ios App-Extension

Ios Problem Overview


After I add Today App Extension Target,I become impossible to compile project. below is error:

> error: Embedded binary is not signed with the same certificate as the parent app. Verify the embedded binary target's code sign settings match the parent app's. Embedded Binary Signing Certificate: iPhone Developer: (Developer name) (number)

> Parent App Signing Certificate: iPhone Developer: (Developer name) (number)

but Embedded binary certificate and parent app's cerificate are the same. So I'm confusing now...

Ios Solutions


Solution 1 - Ios

I had to select my app under 'Targets', then go to the 'Capabilities' tab and click 'Fix Issues' under the 'App Groups' section

Solution 2 - Ios

I had discrepancies under Code Signing. My Extension and Main app had different certificates selected. Once I set both to use distribution it worked fine.

enter image description here

Solution 3 - Ios

In the case of using WatchKit, make sure that your Watch App has the correct "Team" selected in the Watch App Target settings (under General > Signing > Team). I had set the phone app's team, but not the watch app's team.

Solution 4 - Ios

If your Xcode has been working fine but stopped working after you add an extension target to your project, most of the time is that your app was signed using a older certificate (still valid with your name etc.), while your extension is signed with a newer certificate with entitlement for the extension. This is why the error. In this case, you most likely have two certificates with the same name, and this what you can do:
1.Go to Xcode->Preference; 2. Select Accounts Tab;

  1. Select your Apple ID then click on View Details;
  2. Under signing Identities List Window, select IOS Development, then click on the little Configuration icon, and select Revoke;
  3. Xcode will then try to download a new certificate.
    You can do a clean build after this so both your app and extension will be signed using the new certificate.
    enter image description here

Solution 5 - Ios

I solved it by deleting my Apple ID account in

Preferences -> Accounts

and then logging back in again with my Apple ID

Solution 6 - Ios

I had the same issue in Xcode 6, but in my case it occured because of having two active developer certificates. Revoking one had fixed the issue.

Solution 7 - Ios

This issue might arise in the case where the embedded app targets like extensions or watchapp does not have the matching team selected in the General section, as the main iOS app.

Selecting the right team for all relevant targets fixed the issue for me.

Solution 8 - Ios

I had a similar issue. For me the issue was with the certificate showing, 'signed by unknown authority'. I had followed the below steps and it is resolved. The problem was missing apple WWDR intermediate certificate.

We must also install the WWDR intermediate certificate issued by Apple’s worldwide developer relations. It can be downloaded from the portal or directly at http://developer.apple.com/certificationauthority/AppleWWDRCA.cer Make sure you add this to your keychain as well.

To add the certificate: open your keychain utility software on your Mac computer, then go to File→Import items, then select AppleWWDRCA.cer.

Solution 9 - Ios

There are quite a few reasons the issue may emanate from. If none of the other answers are working for you - would like to add another plausible check that helped me. Ensure the certificate you are signing with doesn't have 'Always Trust' (you will see a green '+' sign if the setting is such).

  1. Go to Key Chain access, double click on the certificate you are using.
  2. Expand the 'Trust' drop down and change/set to 'Use System Defaults' from 'Always Trust'.

It's especially true if you are using Swift in your project as the 'Always Trust' setting breaks pertinent Swift libraries.

Solution 10 - Ios

I tried to run project in iPhone5,but App Extension does'nt support 32-bit architecture.So When I build project in iPhone5S,I can build the project !

Solution 11 - Ios

You need to create Provisioning Profile for that target and make sure to include the same certificate in it.

Targets has their own bundle id se you will need to create an AppId also. This solved the same problem that you are having

best

Solution 12 - Ios

Just let Xcode handle the provisioning work. This solved the same issue in my case. http://aplus.rs/2014/embedded-binary-is-not-signed-with-the-same-certificate-as-the-parent-app/

Solution 13 - Ios

In case this helps anyone, my fix was that I had updated my archive scheme for release when submitting to the store, but never changed it back to adhoc for testing. Editing my archive scheme to use ad hoc worked.

Solution 14 - Ios

When I had this issue I went to the Apple Member Center and realized that the Provisioning Profile (for the extension) that I had created was marked as 'Invalid'. I just re-created the Provisioning Profile with the same certificate that the app is signed with and then downloaded it via Xcode > Preferences > Account > refresh.

Once I had the new provisioning profiles I selected them in the build settings. I selected the provisioning profile that was just created and also selected the corresponding certificate in the Code signing entity in the build settings and that fixed the issue.

Note that the extension has its own app id and hence its own provisioning profile.

Solution 15 - Ios

For Xcode 8 beta 3

My build numbers were off on my different Targets in my Xcode project file.

iOS Target showing

My iOS target had a build version 3, but my watch app target and my share extension target both had build version 1.

Thingy Watch target showing build number 1, does not match iOS target build number.

All I did was match all the targets' build numbers (changed them all to 3) and it fixed the issue.

Hope this helps.

Solution 16 - Ios

Refreshing my provisioning profiles fixed it for me (Preferences -> Accounts -> Double tap the account -> tap refresh button in lower left)

Solution 17 - Ios

Open your key chain and It's the Apple Worldwide Developer Relations Certification Authority, if I choose always trust, Xcode archives failed. When I changed to system defaults, Xcode archives successfully. Yes you will enjoy!!

Solution 18 - Ios

For some reason, my developer certificate was stored in my keychain twice. Deleting one of them fixed the issue.

Solution 19 - Ios

I had got the same issue.

So I did a provisioning profil for each bundle ID and configuration of the WatchKit App :

  • Watch App Development

  • Watch Extension Development

  • Watch App Production

  • Watch Extension Prod

/!\ Be careful because the app ID of the watch app in the developer portal is something like :

com.example.projectname.watchkitapp.watchkitextension

and when i created the watchkit app the bundle ID in Xcode was :

com.example.projectname.watchkitapp

maybe it something which changed since WatchOS 2.0.

Solution 20 - Ios

I had to go to:

Xcode-> preferences -> Accounts -> View Details -> select all Provisioning Profiles -> press DEL-key on keyboard after deletion is completed press Download All button!

Solution 21 - Ios

I had the same issue with an app in Xcode 7.1. The app had a Watch extension and therefore an App Group. What worked for me was to:

  1. Go to ~/Library/MobileDevice/Provisioning Profiles
  2. Delete all provisioning profiles listed there
  3. Go to the iOS Dev Center in Safari and regenerate all provisioning profiles
  4. Go back to Xcode => Preferences => Apple IDs and choose the Apple ID associated with the app
  5. Click "View Details..." (lower right)
  6. Download the provisioning profiles that were just created
  7. Clean and build again

I believe my provisioning profiles got mixed up because I was using Xcode's "fix automatically" feature for another issue I had with Capabilities => Associated Domains.

Solution 22 - Ios

Open KeyChain Access on your mac, delete the other one certificate that is diff from your own certificate.This issue was general appeared after you loged in another account in your Xcode.

Solution 23 - Ios

I faced the same issue too, I solved it by the procedure as follows:

First, I re Create my team develop certificate(Because we renewed our root certificate)

2、 edit the Iphone Apps develop certificate ,be sure include your certificate you just create.

3、doing same to the watchkit extension And watch kit App

4、go to Your Xocde "Preference ", double click your "Team Name",delete the old Certificate of Iphone 、watchApps、 watchExtention

5、download your new certificate and install.

Then it works.

Solution 24 - Ios

In my case my App and my Widget profile were signed with different certificate. So I had to go to to iOS Developer site, select parent app provisioning profile->Edit and choose the same certificate as the widget. Then click "generate" and "download". Onece you have download it, double click on it to install in XCode. Then select the new provisioning profile for your parent app in Build Settings->Provisionig Profile. Finally Rebuild your project!

Solution 25 - Ios

For me this was happening because some of my provisioning profiles were expired. Created new profiles on developer.apple.com, removed the old ones, set them to Automatic in Xcode, and the error went away.

Solution 26 - Ios

In my case the profile my extension target uses contains different certificates than the profile the parent target uses contains. This was exactly the error messages complained about!

The reason was I generated a new certificate for the extension profile.

So log in to developer.apple.com to see if these profiles contains different certificate.

Solution 27 - Ios

After a whole day it turns out "Apple Worldwide Developer Relations Certification Authority" in the Root Certs had been deleted. I export one from another machine and installed, everything works fine.

Solution 28 - Ios

If you are using any extension (in my case I was using OneSignal Extension) in that case your parent app bundle will be com.app.xyz but for extension/widget your bundle id would be com.app.xyz.extension

So we will create an app id with the bundle identifier com.app.xyz.extension and we will create provisioning profiles for this app id.

We would use same development and production certificates which we used for parent app.

Here is link which can be helpful provisioning profile for a widget

Finally I am not using automatic settings. So I set my provisioning profiles and certificates manually

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionJohnyDgoodeView Question on Stackoverflow
Solution 1 - IosmarcshillingView Answer on Stackoverflow
Solution 2 - Iossmitt04View Answer on Stackoverflow
Solution 3 - IosMaxwellView Answer on Stackoverflow
Solution 4 - Iosus_davidView Answer on Stackoverflow
Solution 5 - IosFraView Answer on Stackoverflow
Solution 6 - IosRemcoView Answer on Stackoverflow
Solution 7 - IosapalvaiView Answer on Stackoverflow
Solution 8 - IosSunilView Answer on Stackoverflow
Solution 9 - IosJohn DoeView Answer on Stackoverflow
Solution 10 - IosJohnyDgoodeView Answer on Stackoverflow
Solution 11 - IoseskopiumView Answer on Stackoverflow
Solution 12 - IosJeetView Answer on Stackoverflow
Solution 13 - IosMikeView Answer on Stackoverflow
Solution 14 - IosRPMView Answer on Stackoverflow
Solution 15 - IosBrieView Answer on Stackoverflow
Solution 16 - IosTylerc230View Answer on Stackoverflow
Solution 17 - Iossimbesi.comView Answer on Stackoverflow
Solution 18 - IosFalco WinklerView Answer on Stackoverflow
Solution 19 - IosAnthonyView Answer on Stackoverflow
Solution 20 - IosIng. RonView Answer on Stackoverflow
Solution 21 - Iosbruce1337View Answer on Stackoverflow
Solution 22 - IosMichael YangView Answer on Stackoverflow
Solution 23 - Iosuser2020695View Answer on Stackoverflow
Solution 24 - Ioschristian miniView Answer on Stackoverflow
Solution 25 - IosJohn ScaloView Answer on Stackoverflow
Solution 26 - IosQiulangView Answer on Stackoverflow
Solution 27 - IosLiu YanView Answer on Stackoverflow
Solution 28 - IosMuhammad NayabView Answer on Stackoverflow