iOS错误“嵌入式二进制文件未使用与父应用程序相同的证书进行签名”

时间:2023-01-21 09:06:14

Those are my first steps in IOS applications development and I'm facing some problem that I can't figure out.

这是我在IOS应用程序开发中的第一步,我遇到了一些我无法弄清楚的问题。

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 was related to the problem presented here (Not Code Signed).

我在这里回答了同样的错误,但没有一个与这里提出的问题有关(Not Code Signed)。

I tried to revoke my certificate from the Apple Developer Member Center and request another certificate, but the issue persists.

我试图从Apple开发者会员中心撤销我的证书并申请另一个证书,但问题仍然存在。

Does some know how it could be fixed?

有人知道如何解决这个问题吗?

5 个解决方案

#1


28  

The embedded binary is referring to a widget that you are deploying alongside with your app.

嵌入式二进制文件指的是您与应用程序一起部署的窗口小部件。

In your case, you are not signing your widget with any Signing Identity (since your error says "Not Code Signed").

在您的情况下,您没有使用任何签名标识对窗口小部件进行签名(因为您的错误显示“Not Code Signed”)。

To resolve this, go to your Project file, find your widget's target, and under the Build Setting tab, find the Code Signing Identity value. Choose the same code signing identity that you are using for your main app's target.

要解决此问题,请转到Project文件,找到窗口小部件的目标,然后在Build Setting选项卡下找到Code Signing Identity值。选择您用于主应用程序目标的相同代码签名标识。

You will also need to create and configure a provisioning profile specifically for your widget when you want to release it.

当您想要发布它时,您还需要专门为您的小部件创建和配置供应配置文件。

#2


7  

Sometimes none of the solution on * works. In that case,

有时,*上的解决方案都不起作用。在这种情况下,

Solution

  1. 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
  2. 确保MainApp和EmbeddedApp中的签名(调试),签名(发布)和启用功能的任何部分都没有红色标记/问题
  3. Make sure that both certificates and provisioning profiles are installed under login/system keychain.
  4. 确保在登录/系统密钥链下安装了证书和配置文件。

iOS错误“嵌入式二进制文件未使用与父应用程序相同的证书进行签名”

  1. Make sure that your certificate is never ever set as Always Trust. Access must be kept as Use System Default
  2. 确保您的证书永远不会被设置为始终信任。访问必须保留为使用系统默认值

iOS错误“嵌入式二进制文件未使用与父应用程序相同的证书进行签名”

#3


3  

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.

如果未在Developer Portal中的所有App ID上正确设置应用程序组,则会出现此错误。因此,应用程序中的应用程序组无法正常工作,无法对扩展程序或Watchkit应用程序的二进制文件进行签名。

#4


0  

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!

奇怪的是,我不得不从我的项目中删除products文件夹以修复此错误。 XCode在重新打开后坠毁,就像一个魅力!

#5


0  

This error is also shown when deployment target of your Today extension is newer than the parent app. They must be the same.

当您的Today扩展的部署目标比父应用程序更新时,也会显示此错误。它们必须是一样的。

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.

我将iOS应用程序设置为10.0并添加了今天自动设置为最新的11.4。这导致出现错误。只需将扩展目标的部署目标更改为10.0就可以解决问题。

#1


28  

The embedded binary is referring to a widget that you are deploying alongside with your app.

嵌入式二进制文件指的是您与应用程序一起部署的窗口小部件。

In your case, you are not signing your widget with any Signing Identity (since your error says "Not Code Signed").

在您的情况下,您没有使用任何签名标识对窗口小部件进行签名(因为您的错误显示“Not Code Signed”)。

To resolve this, go to your Project file, find your widget's target, and under the Build Setting tab, find the Code Signing Identity value. Choose the same code signing identity that you are using for your main app's target.

要解决此问题,请转到Project文件,找到窗口小部件的目标,然后在Build Setting选项卡下找到Code Signing Identity值。选择您用于主应用程序目标的相同代码签名标识。

You will also need to create and configure a provisioning profile specifically for your widget when you want to release it.

当您想要发布它时,您还需要专门为您的小部件创建和配置供应配置文件。

#2


7  

Sometimes none of the solution on * works. In that case,

有时,*上的解决方案都不起作用。在这种情况下,

Solution

  1. 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
  2. 确保MainApp和EmbeddedApp中的签名(调试),签名(发布)和启用功能的任何部分都没有红色标记/问题
  3. Make sure that both certificates and provisioning profiles are installed under login/system keychain.
  4. 确保在登录/系统密钥链下安装了证书和配置文件。

iOS错误“嵌入式二进制文件未使用与父应用程序相同的证书进行签名”

  1. Make sure that your certificate is never ever set as Always Trust. Access must be kept as Use System Default
  2. 确保您的证书永远不会被设置为始终信任。访问必须保留为使用系统默认值

iOS错误“嵌入式二进制文件未使用与父应用程序相同的证书进行签名”

#3


3  

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.

如果未在Developer Portal中的所有App ID上正确设置应用程序组,则会出现此错误。因此,应用程序中的应用程序组无法正常工作,无法对扩展程序或Watchkit应用程序的二进制文件进行签名。

#4


0  

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!

奇怪的是,我不得不从我的项目中删除products文件夹以修复此错误。 XCode在重新打开后坠毁,就像一个魅力!

#5


0  

This error is also shown when deployment target of your Today extension is newer than the parent app. They must be the same.

当您的Today扩展的部署目标比父应用程序更新时,也会显示此错误。它们必须是一样的。

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.

我将iOS应用程序设置为10.0并添加了今天自动设置为最新的11.4。这导致出现错误。只需将扩展目标的部署目标更改为10.0就可以解决问题。