Xcode6:Embedded binary is not signed with the same

2019-02-05 10:14发布

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...

28条回答
手持菜刀,她持情操
2楼-- · 2019-02-05 10:52

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;
3. Select your Apple ID then click on View Details;
4. Under signing Identities List Window, select IOS Development, then click on the little Configuration icon, and select Revoke;
5. 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

查看更多
欢心
3楼-- · 2019-02-05 10:52

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.

查看更多
淡お忘
4楼-- · 2019-02-05 10:53

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.

查看更多
我命由我不由天
5楼-- · 2019-02-05 10:53

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.

查看更多
狗以群分
6楼-- · 2019-02-05 10:54

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

查看更多
Ridiculous、
7楼-- · 2019-02-05 10:55

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.

查看更多
登录 后发表回答