The error message “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.” typically occurs when there is a mismatch between the code signing settings of the embedded binary and its parent app in iOS development.
When you have an app extension or framework embedded within your main app, both the parent app and the embedded binary need to be signed with the same certificate in order for them to work together. In other words, the code signing settings of the target (embedded binary) should match that of the parent app.
Here’s an example to better illustrate the issue:
- Parent App: MyApp
- Embedded Binary: MyExtension
If the code signing settings for the release build of the parent app, MyApp, specify a certain certificate, then the code signing settings for the release build of MyExtension should also use the same certificate. If they don’t match, you’ll encounter the mentioned error.
To resolve this error, you need to ensure that the code signing settings for both the parent app and the embedded binary are configured correctly.
Some steps you can follow to fix this issue are:
- Open the project in Xcode.
- Select the target corresponding to the embedded binary (e.g., MyExtension).
- Go to the “Signing & Capabilities” tab.
- Set the “Team” to the same value used by the parent app.
- Configure any other required code signing settings (e.g., provisioning profiles) to match the parent app.
- Repeat these steps for the parent app target (e.g., MyApp).
By ensuring that the code signing settings match between the parent app and the embedded binary, you should be able to resolve the error and successfully build and run your application.