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

Emi*_*Adz 31 xcode certificate provisioning-profile swift xcode6

这是我在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)
Run Code Online (Sandbox Code Playgroud)

我无法理解,什么是嵌入式二进制签名证书

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

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

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

Ari*_*sky 45

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

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

要解决此问题,请转到项目文件,找到窗口小部件的目标,然后在"构建设置"选项卡下,找到"代码签名标识"值.选择您用于主应用程序目标的相同代码签名标识.

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


Saz*_*han 28

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

  1. 确保MainApp和EmbeddedApp中的签名(调试),签名(发布)和启用功能的任何部分都没有红色标记/问题
  2. 确保在登录/系统密钥链下安装了证书和配置文件.

在此输入图像描述

  1. 确保您的证书永远不会被设置为始终信任.访问必须保留为使用系统默认值

在此输入图像描述

  • 哦,我的上帝!谢谢! (2认同)
  • ~~~~~~~~~~这个! (2认同)
  • 我正在寻找13个小时的原因.你让我今天一整天都感觉很好!非常感谢! (2认同)

Ben*_*bin 8

奇怪的是,我必须从项目中删除产品文件夹才能修复此错误。然后 Xcode 崩溃了,重新打开后,效果非常好!


Lac*_*zar 8

似乎这个问题出现在xcode 10中,并且分辨率与前面提到的不同.

通过将Build System设置为Legacy(通过File> Workspace Settings),我能够修复(或者更确切地说是绕过)错误

另一个有趣的事情是,如果我构建到实际设备(即在将Build System更改为Legacy之前),则不会发生签名错误.它只会在使用模拟器进行构建时才会出现,并且仅在Xcode 10 beta 3,4和5上进行.

链接到原始主题:https://forums.developer.apple.com/thread/105537


toi*_*ski 8

假设

  • 我正在使用的应用程序称为TestApp(出于隐私考虑)
  • 以下步骤在Xcode 11.1中测试
  • 我用来编译的方案是AdHoc
  • 该应用程序具有推送通知功能

问题

在我的情况下,问题是由签署两个目标之间的差异引起的。问题在于:

  • TestApp目标(即在发生错误时如何被称为父应用程序签名证书
  • notificationServiceExtension目标(即在错误是什么称作嵌入式二进制签名证书)。

目标

解析度

在我的AdHoc 方案中,在 TestApp 目标下,我禁用了自动签名,因为我想指定配置文件和证书。

我遵循的步骤是:

  1. Signing & Capabilities -> AdHoc -> Signing (section)
    1. 从选择下的自动管理签名中删除了勾号
    2. 选择了我想使用的配置文件

签约&能力

  1. Build Settings -> Signing (section)
    1. 在 下Code Signing Identity,选择两者AdHocAny SDK我想使用的证书
    2. 在 下Code Signing Style -> AdHoc,选择手动
    3. 在 下Provisioning Profile -> AdHoc,选择我想使用的配置文件(即与步骤 1.2 相同)

构建设置

抛出错误是因为我没有将相同的设置应用于notificationServiceExtension 目标(它仍在使用自动签名,因此使用另一个证书)。一旦我也为这个目标重复了上述步骤,错误就消失了。

我希望它可以帮助某人,因为这个错误让我发疯了!


Ale*_*cić 7

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

我将iOS应用设置为10.0,并添加了Today扩展,该扩展自动设置为最新的11.4。这导致出现错误。只需将扩展目标的Deployment目标更改为10.0,即可解决此问题。


Adr*_*eda 6

我是有这个问题,当我迁移到Xcode的10和管理在“生成设置”更新架构来解决它>“有效架构”为观察对象,以

$(ARCHS_STANDARD)

这个线程帮了我很多忙:https : //forums.developer.apple.com/thread/107563


Sha*_*med 6

斯威夫特5。就我而言,简单的方法检查此屏幕截图,我已完成

在此处输入图片说明

  • 这对我有用。非常感谢。 (2认同)
  • 谢谢!为我工作 (2认同)
  • @ShakeelAhmed 你认为这是推销自己的合适地方吗?哈哈 (2认同)
  • 我在 Ventura b4/Xcode b4 中使用带有嵌入式扩展的应用程序时遇到了此错误,该解决方案对我来说有两个步骤。首先,我必须按照上面的建议选中“仅在安装时复制”,这允许构建但不允许在第一次安装后复制扩展,然后我必须再次取消选中它,之后构建并使用扩展再次工作。是的,我不得不尝试将其关闭并再次打开。 (2认同)

小智 5

在此输入图像描述

检查您的排除架构