未找到签名证书“​​iOS Distribution”

Posted

技术标签:

【中文标题】未找到签名证书“​​iOS Distribution”【英文标题】:No signing certificate "iOS Distribution" found 【发布时间】:2017-12-16 11:33:28 【问题描述】:

我正在尝试使用我客户的证书签署应用程序。我从客户那里收到了以下文件

我尝试安装 ios_distribution 证书和密钥 (.p12)。我还安装了配置文件。现在,当我尝试使用配置文件对应用程序进行签名时,它确实显示在下拉列表中,但我收到以下错误:-

No "iOS Distribution" signing certificate matching team ID "7S977Lxxx" with a private key was found

我该如何解决这个问题?任何帮助表示赞赏。

【问题讨论】:

检查您的应用程序的捆绑标识符。是否与 Apple 开发者账号的 AppID Identifier 匹配? @BrijeshShiroya 是的。起初它是不同的,它向我显示了错误。我后来改成证书里提到的那个 对我来说,这就是选择复选框:自动管理签名 您能否在您的 Keychain Access 应用程序中显示证书的屏幕截图?理想情况下,您应该将其显示为扩展。如果安装正确,您应该会看到与证书关联的私钥。 我选择并取消选择自动管理签名并且它起作用了。 【参考方案1】:

转到 Xcode -> Prefrences 并导入配置文件

【讨论】:

感谢您的回答。但是当我尝试导入开发者帐户选项时,它会在我的文件夹中显示证书,但它们都是灰色的 这对我有帮助。就我而言,我只需要再次登录 Xcode > Preferences > Accounts 选项卡,然后单击按钮刷新我的证书。【参考方案2】:

您需要在钥匙串中拥有签名证书的私钥以及公钥。您是否使用相同的 Mac(钥匙串)创建了证书?

解决方案 #1:

从苹果开发者门户撤销签名证书(重置) 在同一个 mac(钥匙串)上再次创建签名证书。然后您将拥有签名证书的私钥!

解决方案 #2:

从源 xCode 导出签名身份 在您的 xCode 上导入签名

Apple 文档:https://developer.apple.com/library/content/documentation/IDEs/Conceptual/AppDistributionGuide/MaintainingCertificates/MaintainingCertificates.html

【讨论】:

@green 你可以在苹果开发者门户上撤销签名证书但是我不确定我理解我应该导出什么以及在哪里 我不得不重新启动 XCode 以修复将我的配置文件与我的签名证书相关联的问题【参考方案3】:

我们的解决方案是运行

fastlane match

因为我忘了我们设置了一个匹配文件。

【讨论】:

@babibo 不完全是。 fastlanematch 是开源项目。它是一个定义的命令,而不是自定义的。它可以帮助那些使用 fastlanematch 并且不明白他们需要运行该命令的人......不需要消极的伙伴【参考方案4】:

解决步骤:

    未选中“自动管理签名”。

    在“签名(发布)”部分中选择“配置文件”。

    不会显示签名证书错误。

    然后错误下方有一个“管理证书”按钮。点击按钮。

    这个窗口将会出现。单击 + 号,然后单击“iOS 分发”。 xcode 将为您的分发证书创建私钥,并且错误将消失。

【讨论】:

这应该是最好的答案 为什么取消选中自动管理签名是必要的? Xcode 不会自动为您管理它吗?【参考方案5】:

我遇到了同样的问题,我已经完成了所有这些给出的解决方案,但没有一个对我有用。但后来我意识到我的愚蠢错误。我忘记在构建设置选项卡下将代码签名身份从 iOS 开发人员更改为 iOS 分发。请确保您在此处选择了“iOS 分发”。

【讨论】:

如果您正在处理旧版应用程序,这就是答案。还要选择“apple”而不是“ios”,因为那是新的跨平台风格。 @CGuess 的建议有助于结合到哈桑的回答。从“iOS Distribution”将身份设置为“Apple Distribution”工作【参考方案6】:

双击并在您的钥匙串中安装生产证书。这可能会解决问题。

【讨论】:

【参考方案7】:

尝试了上述解决方案,但没有成功...重新启动我的 mac 解决了问题...

【讨论】:

重启xcode后不起作用,我重启了我的mac,它工作了。谢谢。我不会想到的。 苹果硬件、苹果软件、苹果远程服务。叹息。 大声笑,谢谢。即使我尝试了其他方法,这个方法也奏效了。【参考方案8】:

在 macOS 10.14.x Mojave 上运行 Xcode 11.3 时出现“无签名证书”错误。 (但在 Xcode 12 发布之后。)

我也在使用 Fastlane。我的解决方法是在运行 Match 时将 generate_apple_certs 设置为 false。这似乎生成了与 Xcode 11.3 向后兼容的签名证书

匹配文档 - https://docs.fastlane.tools/actions/match/

这是我的 Fastfile 的相关部分:

platform :ios do
  lane :certs do
    force = false
    match(type: "development", generate_apple_certs: false, force: force, app_identifier: "your.app.identifier.dev")
    match(type: "adhoc",       generate_apple_certs: false, force: force, app_identifier: "your.app.identifier.beta")
    match(type: "appstore",    generate_apple_certs: false, force: force, app_identifier: "your.app.identifier")
  end

  ...

【讨论】:

我 11.3 岁,但仍然有问题 我有一个应用程序可以运行几天,但现在另一个应用程序无法运行我尝试了这里建议的所有内容,但到目前为止什么都没有......我什至删除了钥匙串中的所有证书和重做仍然没有雪茄......换到另一台机器时我总是遇到这个问题【参考方案9】:

我在一家企业公司工作,因此我们将应用程序存档在 Mac 以外的地方。该问题与计算机数量有关。您应该将应用归档为一个在钥匙串上经过认证的 mac。

Identifier 和 Profiles 是相同的,但不要忘记为每台 mac 机器创建一个证书。

因此,我们需要拥有与计算机一样多的证书。以下链接可用于创建证书。

https://blog.codemagic.io/how-to-code-sign-publish-ios-apps/

【讨论】:

【参考方案10】:

如果您确定拥有证书。包含在您的配置文件中,但仍然遇到此问题,然后尝试以下步骤。

关闭你的 mac 的互联网访问。

勾选自动管理签名。

取消勾选自动管理签名。

打开你的 mac 的互联网访问。

错误应该消失。

步骤说明:

有时 xcode 无法自动同步设置。以上步骤手动更新。

【讨论】:

以上是关于未找到签名证书“​​iOS Distribution”的主要内容,如果未能解决你的问题,请参考以下文章

“未找到包含任何钥匙串签名证书的未过期配置文件”

MSIS0037:未找到颁发者的签名验证证书

未找到具有有效签名身份(即证书和私钥对)的配置文件

Xamarin Android 问题通过 HTTPS 连接到具有自签名证书的站点:“未找到证书路径的信任锚。”

iOS 未找到有效的签名身份

未找到签名证书“​​iOS 开发” - 使用 bitrise/Fastlane 匹配构建应用程序版本