IOS 开发者证书每天过期

IOS developer certificate expires daily

我有 apple 帐户,我正在使用五个 mac machine 开发应用程序。下面的步骤是我正在做的

  1. 我将从一个 mac

  2. 创建 CSR
  3. 我将使用该 CSR 创建开发者证书

  4. 我将从钥匙串中导出 .p12 文件

  5. 我会在我的其他 mac machines 中安装那个 .p12 文件。所以 我可以在这些 mac machine 上使用这个 iOS develoepr 证书 还有。

  6. 我将使用 iOS 开发人员证书创建配置文件。

  7. 我会 运行 使用此配置文件将我的应用程序放入真实设备中。

完美运行。

我的问题是,它只工作一天,第二天它说,

8730250CCE9442D5271EECCC0022CB008ABCBECE: no identity found
Command /usr/bin/codesign failed with exit code 1

然后我必须撤销我的 iOS 开发者证书,我必须再次执行相同的上述步骤。

我想知道为什么我必须每天这样做。有什么办法可以解决这个问题吗?

如果证书已过期,您将无法撤销它。您需要通过开发者计划门户重新创建它。

一旦您的新证书可用,我不确定您是否需要重新创建与您以前的证书关联的配置文件。我想您可能必须这样做(除非配置文件只使用证书主题而不是有效的来自/到字段)。

如果上述方法无效,请按此link。

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

很可能您的开发人员之一正在单击 Xcode 中的 "Fix Issue" 按钮。这将使您在开发人员门户上创建的证书无效。所以你的证书没有过期,有人通过点击 "Fix Issue" 按钮来撤销它们。

如果您共享用于创建证书的私钥,然后让每个 Mac 从 Apple 开发站点下载证书和配置文件,您应该不会在 Xcode.如果您是(并且正在看到 "Fix Issue" 按钮),那么您还做错了其他事情。

此外,您有没有使用 Xcode 8 的原因?从 Xcode 8 开始,一个开发者帐户可以拥有多个证书,这意味着每个 Mac 都可以拥有自己的密钥/证书进行签名。这意味着在一个 Mac 上生成证书/配置文件不应使其他 Mac 的证书无效。

最大的教训是,如果您有一个苹果开发者帐户并在多个 Mac 上使用它,则永远不要使用 "Fix Issue" 按钮。它不可避免地会导致比它解决的问题更多的问题。