ChatGPT解决这个技术问题 Extra ChatGPT

iOS 7.0 未找到代码签名身份

证书有效

代码 5

IOS 7

代码签名错误:未找到代码签名身份:未找到与构建设置中指定的配置文件(“iOS 团队配置文件:*”)匹配的代码签名身份(即证书和私钥对)。 CodeSign 错误:SDK“iOS 7.0”中的产品类型“应用程序”需要代码签名

我称之为苹果代码登录的噩梦,我总是通过删除我的证书/配置文件重新下载它们,然后映射正确的配置文件来解决这个问题。
请参阅我的 SO 回答 stackoverflow.com/questions/19086395/…
重新启动 Xcode 会有所帮助。
重新启动 Xcode 对我有用 :)
第三次重启 XCode

R
Rajneesh071

对于证书

撤销以前的证书。生成新的开发证书。下载证书。双击以放入 KeyChain。

对于配置文件

创建新的或编辑现有的配置文件。下载并安装。

对于 BundleIdentifier。

com.yourcompanyName.Something(与 AppId 中的内容相同)

https://i.stack.imgur.com/h0R51.png

代码签名身份。

选择您创建的供应配置文件。

https://i.stack.imgur.com/mPbhw.png


有时重启会有所帮助,它在我的 Mac 重启后帮助了我。
您还应该检查是否存在具有与应用程序包标识符匹配的应用程序 ID 的分发配置文件。一旦我得到匹配,提交对话框就会退出,给我那个错误。
在重新生成证书之前,我建议确保您拥有您尝试使用的证书的私钥。
为什么我们应该撤销以前的证书的任何具体原因?
c
christopher_h

我对这个问题的解决方法是:

Xcode > 首选项。在帐户中单击您的 Apple ID。单击查看详细信息,单击您的项目 Provisioning Profile(我认为这会有所帮助),然后单击左下方的刷新按钮。


M
Max MacLeod

以为我会用我自己的个人经验来补充其他答案。

最近我遇到了一个问题,即会构建两个目标,两个目标会失败并出现以下错误:

代码签名错误:未找到代码签名身份:未找到与团队 ID“XXXXXXXXXX”匹配的有效签名身份(即证书和私钥对)。 CodeSign 错误:SDK“iOS 7.1”中的产品类型“应用程序”需要代码签名

尽管已经更新了 Xcode 和 iOS Developer Center 中的所有内容,但仍然如此。

提示是构建失败消息中显示的团队 ID 已过期。

果然,在文本编辑器中打开 Xcode 的 project.pbxproj 文件找到了旧的团队 ID:

D29A93A318AB96440099C177 = {
        DevelopmentTeam = XXXXXXXXXX;
};

顺便说一句,要获取您的 project.pbxproj 文件,请选择您的 .xcodeproj 文件并显示内容,如下所示:

https://i.stack.imgur.com/7XdrI.png

搜索目标 ID D29A93A318AB96440099C177,我可以看到它与失败的目标之一匹配:

targets = (
    F5E8B19A16E64505006F22D4 /* MyTarget1 */,
    93DB2342183F737100BEA69F /* MyTarget2 */,
    D29A93A318AB96440099C177 /* MyTarget3 */,
    D200F4B518AB968A00F58C21 /* MyTarget4 */,
    F5E8B1C016E64505006F22D4 /* MyTarget5 */,
    589FB35119114DED003D9350 /* MyTarget6 */,
);

在这种情况下,MyTarget3。为了解决这个问题,一个简单的文本搜索将旧的团队 ID 替换为新的正确 ID。问题解决了。

总而言之,希望您的情况能够使用上面的答案得到解决,而不是深入研究 Xcode 项目文件的复杂性。但是,如果没有,并且错误显示无效的团队 ID,则值得检查该团队 ID 是否仍然存在。


这也是我的问题。不确定是因为我还是我的分布式团队中的某个人拥有自己的个人资料、证书等。我把它放在 git auto 上一次很糟糕地合并了 pbxproj 文件。我注意到的 DevelopmentTeam 来自项目设置中 General 选项卡下的 Team 下拉菜单。如果您希望将团队设置为无,则完全删除该行对我有用。
我已经检查过了,我的 DevelopmentTeam 是正确的,我如何获得新的 ID?证书安装具有相同的 DevelopmentTeam。请帮忙
奇迹般有效。只需将错误中显示的 ID 替换为上面的 ID。
就我而言,我必须单击 Target -> General -> Identity 中的“Fix”按钮
E
EddieHFu

我在开发中遇到了完全相同的问题。我解决了

转到 XCode 首选项,查看 Apple ID 的详细信息,然后删除抱怨的配置文件。转到 Keychain Access,并删除与您刚刚删除的配置文件相关的开发证书。在 Apple 会员中心,下载您刚刚在本地删除的开发配置文件,双击该文件以确保它出现在 XCode 中。将刚刚删除的开发证书下载到本地,双击确保出现在 Keychain Access 中。现在去应该不错。


这个答案需要在页面上更高。
D
Daniel Ryan

我刚和詹金斯有这个问题。

解决方案是复制证书并将其粘贴到系统钥匙串中,否则 Jenkins 无法读取证书。


E
Emzor

您不必删除所有配置文件来解决此问题,

在管理器中查看我的设备配置文件时,我发现我的一个配置文件无效。然后我转到 Developer Certificates, Identifiers & Profiles page,所有配置文件都处于活动状态,呈绿色并且看起来不错,但是当在我的设备上显示为无效的配置文件上单击编辑时,我看到关联帐户中的复选框未选中,即使全选被检查了。我选中了将配置文件与我的证书相关联的框,下载了配置文件,一切都已修复。

https://i.stack.imgur.com/9xiPS.jpg

https://i.stack.imgur.com/3Vktd.jpg


我正要删除我所有的配置文件并从草图开始,然后我遇到了你的答案。完美的伙伴。由于这个问题浪费了一整天。非常感谢分享你的答案。
g
gklka

对我来说,将 Project → Targets/[Your project] → General → Team 设置为“None”解决了这个问题。


P
Philip Nelson

经历了一段荒谬的时间试图解决其中一个问题,我绝对可以看到在某些情况下这些答案中的大多数是正确的,我的情况并不少见。

我试图部署到应用商店以使用 TestFlight 进行测试。以前的开发人员(不再是项目或公司的一部分)创建了 IOS 分发证书。 xcode 试图告诉我的是,是的,证书在会员中心,但是伙计,你完全不能使用它,因为它不是你的。我没有用它签名所需的私钥,也没有再多的刷新、重启、撤销对我有帮助。您需要开发者和分发证书才能上传到应用商店。

解决方案是使用来自我的钥匙串的新签名请求在会员中心创建一个新的生产分发证书。在您在线创建证书时,此过程已得到很好的记录和描述。完成后,在 xcode 中刷新您的帐户以下载到您的钥匙串,您将获得金牌。我希望这对某人有帮助!


S
Silviu St

听起来可能很奇怪,但对我来说,我重新启动了我的 mac。我无法解释为什么以及发生了什么,但它现在可以工作了。希望它会帮助某人


E
Emzor

当我使用纯命令行/jenkins 构建脚本并且我不希望为集成环境手动设置任何单个 UI/RDP 时,我到达了这个线程。

几个小时后,尝试使用 jenkins 解决完全相同的问题。关键是“安全列表-钥匙串-s

--- 长篇大论 --- 我在 jenkins 中使用脚本来覆盖每个项目的设置(配置配置文件和签名身份)升级到 Xcode 7 后,我必须在“create-”之后更改“list-keychains”上方的脚本添加钥匙扣”

Updated script here


s
srinivas

您无需删除所有配置文件。我遇到了同样的问题并通过安装丢失的证书来修复它。您可能忘记为用于代码签名的配置文件安装所需的证书。

确保您已将所需的证书(开发/分发)安装到代码签名配置文件(开发/分发)的钥匙串中。


V
Vlad

尝试更改捆绑标识符:项目 -> 目标/[您的项目] -> 常规 -> 捆绑标识符

如果应用程序在 AppStore XCode 上发布,则不允许创建具有相同捆绑标识符的应用程序。


M
MLQ

针对 Xcode 7 上的 iOS 8 和 9。我的开发配置文件很好,但在归档应用以上传到应用商店时出现此错误。这是我所做的:

Xcode > 首选项 > 帐户 > 查看详细信息。在 iOS Distribution 旁边,单击“重置”按钮。这将使您正在使用的分发配置文件无效(因为您重置了分发证书),因此请编辑配置文件以包含新重置的证书。

确保同时下载新的分发证书和新编辑的分发配置文件。重新启动 Xcode。


K
Krešimir Prcela

确保您的证书与您的私钥相关联:

打开钥匙串访问、登录、证书。在列表中找到证书,看看它是否与您的私钥正确配对。

如果证书未使用私钥签名,请将其删除,转到苹果开发者页面并创建新证书。有时需要撤销旧的。这个新证书现在将使用您的私钥正确签名。

现在,当您拥有新证书时,重新创建所需的配置文件,该配置文件将在创建过程中包含新证书。

请注意,当您团队中的某个人使用他的私钥重置此证书时,在刷新过程中可能会再次出现同样的问题。我不确定,但似乎团队中的每个开发人员都必须拥有自己的分发证书。


R
RainCast

显然,这个问题有不同的原因。 :)

就我而言,我的帐户登录已过期...我通过以下方式解决了它:

XCode -> Preferences -> Account -> Apple IDs -> 选择相关ID并更新登录...

希望这可以帮助!


P
Petr Syrov

转到问题导航器并检查您的 钥匙串访问 中是否存在 Signing Identity:。如果不是,请下载 .cer 文件并将其附加到钥匙串中。


A
Amit Ajmera

拉了半天,终于发现了一个问题。我在创建Provisioning Profile时选择了错误的证书,通过选择正确的一个,它对我有帮助。在你的情况下,如果它是多个那么你必须尝试选择一一解决这个问题。


A
AnneTheAgile

当我使用 Xcode 7.3、OSX 10.11.4 为 iOS 构建设置新的 Jenkins 框时,我遇到了这个模棱两可的错误,“Command /usr/bin/codesign failed with exit code 1”。

就我而言,我做对了几件事: 1.是的,我已将我的证书添加到钥匙串中,包括 Apple 的根证书和团队的证书。 2.是的,我通过 xcode 首选项下载了正确的配置文件。 3.是的,它甚至在 xcode 中手动构建。

但是,对于 jenkins,xcode 上可能存在缓存问题。有效的是: 1.退出 Xcode GUI。 2.重新进入,手动运行一次构建。 3.只有这样Xcode才会提示允许钥匙串访问授权。 4.Jenkins 有一些设置可能可以解决这个问题,但我的机器是安全的,所以我点击“始终允许 xcode 访问钥匙串”。


p
powtac

安装 fastlane 后,您可以通过以下方式创建和安装开发证书

cert --development
sigh --development