'iOS error "Embedded binary is not signed with the same certificate as the parent app"
Those are my first steps in IOS applications development and I'm facing some problem that I can't figure out.
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: Not Code Signed
Parent App Signing Certificate: iPhone Developer: Emil Adz (9QNEF95395)
I can't understand, what is a Embedded Binary Signing Certificate?
I went over the questions with the same error here, but none of them were related to the problem presented here (Not Code Signed).
I tried to revoke my certificate from the Apple Developer Member Center and request another certificate, but the issue persists.
Does some know how it could be fixed?
Solution 1:[1]
Solution 2:[2]
Sometimes none of the solution on Stackoverflow works. In that case,
Solution
- Make sure that there is no red mark/issue in any of the sections of Signing(Debug), Signing(Release) and Enabled capabilities in both of MainApp and EmbeddedApp
- Make sure that both certificates and provisioning profiles are installed under login/system keychain.
- Make sure that your certificate is never ever set as Always Trust. Access must be kept as Use System Default
Solution 3:[3]
This error is also shown when deployment target of your Today extension is newer than the parent app. They must be the same.
I have iOS app set to 10.0 and added Today extension which was automatically set to 11.4 as the latest. This caused the error to appear. Simply changing the Deployment target of the extension target to 10.0 resolved the issue.
Solution 4:[4]
It seems this issues appears in xcode 10 and the resolution is different from the aforementioned.
I was able to fix (or rather bypass) the error by setting the Build System to Legacy (via File > Workspace Settings)
Another interesting thing to note is that the signing error would not occurr if I was building to an actual device (i.e. before changing the Build System to Legacy). It would only occurr when building using the simulator and only on Xcode 10 beta 3, 4 and 5.
Link to the original thread: https://forums.developer.apple.com/thread/105537
Solution 5:[5]
I was having this issue when I migrated to Xcode 10 and managed to fix it by updating the architectures in "Build Settings"> "Valid Architectures" for the Watch target to
$(ARCHS_STANDARD)
This thread helped me out a lot: https://forums.developer.apple.com/thread/107563
Solution 6:[6]
Assumptions
- the app I am working is called TestApp (for the sake of privacy)
- the steps below are tested in Xcode 11.1
- the scheme I was using to compile is AdHoc
- the app has the Push Notification capability
Issue
In my case the issue was caused by a discrepancy between the signing of two targets. The issue was between:
- the TestApp target (i.e. what in the error is referred to as Parent App Signing Certificate)
- the notificationServiceExtension target (i.e. what in the error is referred to as Embedded Binary Signing Certificate).
Resolution
In my AdHoc scheme, under the TestApp target, I disabled the automatic signing because I wanted to specify the provisioning profile and the certificate.
The steps I followed were:
- from
Signing & Capabilities -> AdHoc -> Signing (section)
- removed the tick from Automatically manage signing under selected
- selected the provisioning profile I wanted to use
- from
Build Settings -> Signing (section)
- under
Code Signing Identity
, choose for bothAdHoc
andAny SDK
the certificate I wanted to use - under
Code Signing Style -> AdHoc
, chose Manual - under
Provisioning Profile -> AdHoc
, chose the provisioning profile I wanted to use (i.e. the same as step 1.2)
- under
The error was thrown because I didn't apply the same settings to the notificationServiceExtension target (which was still using the automatic signing and therefore another certificate). As soon as I have repeated the steps above also for this target, the error was gone.
I hope it can helps someone, because this error drove me crazy!
Solution 7:[7]
Oddly enough, I had to remove the products folder from my project in order to fix this error. Xcode crashed then, after reopening, worked like a charm!
Solution 8:[8]
I got this error when the App Groups weren't set up correctly on all my App IDs in the Developer Portal. Therefor the App Groups in the app didn't work correctly and the Binary for the extension or the Watchkit app couldn't be signed.
Solution 9:[9]
Solution 10:[10]
I got this error after adding a Copy Files
Build Phase to the main app Target.
Copy Files
Destination:Absolute Path
Path:/Applications
File:MyApp.app
This worked the first time I ran the app.
On subsequent runs, Xcode began complaining about the certificate mismatch.
Removing the Copy Files build phase fixes the certificate mismatch. I'm still searching for a way to Copy Files without the error.
Same issue links:
Solution 11:[11]
I got this error while having another compile time error in my code.
My new target has never been built before.
So I thought I'll fix this error first. But it turned out, that fixing the other error enabled Xcode to build the target and fix the other error itself.
Solution 12:[12]
Check if you have more targets like oneSignal or other else and check if you have the same team of the main target.
Solution 13:[13]
I was getting this error trying to build a WatchOS app in Xcode 11 - I tried all the various suggestions in this and other SO posts but the thing that finally worked was switching Xcode to use the legacy build system.
Go to: File | Project (or Workspace) Settings | Build System
And select Legacy Build System
Solution 14:[14]
XCode 12.5
In my case, I followed Shakeel Ahmed's answer. But I also needed to do this change on the Pod file.
You can find more here https://github.com/facebook/react-native/issues/31480#issue-876308920
Solution 15:[15]
I have experienced this same issue in a Unity.iPhone project. We embed a target for a Stickers extension that we ship with the app.
The Stickers extension target is the one complaining about the code sign settings not matching the parent apps.
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: Software Signing
Parent App Signing Certificate: Apple Distribution
This occurred when the Stickers Extension target build settings were set to ARCHS_STANDARD (arm7, arm64), while the parent app was set to arm64.
I fixed this by setting the Extension's ARCHS build property to arm64.
Go figure, I suspect this output catches a bunch of different issues and just doesn't specify any details in the log message.
Solution 16:[16]
In my case the key was to delete 'Products' folder. Then the build was successful. Moreover, after that I made git reset --hard
and tried again with the same successful result.
Solution 17:[17]
I had the issue when following the SwiftUI documentation about integrating an iOS app with watchOS.
The issue is that the extension is not under the same development team, so it will fail when we try to compile it.
Nothing about architecture and nothing about trust.
SOLUTION:
ScreenShot for xcode
- Go to the project general file
- Check on the extension folder on the sidebar (check the screenshot number 2)
- Switch to the Signing & Capabilities tab
- Choose your team (need to match the master project's development team)
Solution 18:[18]
Check your keychain access expire certificate not deleted that's why its showing a error.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow