ChatGPT解决这个技术问题 Extra ChatGPT

Xcode 4 - 在新的 Macintosh 安装上配置配置文件时出现“找不到有效的签名身份”错误

我有一台 Macintosh,我曾经使用 Xcode 4 开发 iPhone 应用程序。我现在有一台新的 Macintosh,安装了……一切。

打开在旧 Mac 上构建的 Xcode 项目时,我无法在配置为开发 iPhone 的 iPhone 上运行该应用程序。 Xcode 4 组织者在我的配置文件中告诉我“未找到有效的签名身份”。

我想这与我之前在旧 Mac 上生成的 .certSigningRequest 文件有关(我有该文件的备份),但是在新 Mac 上我有什么用呢?

另一个奇怪的事情是,即使在刷新并输入了我的配置门户登录名和密码之后,我也没有在管理器中看到我的 5 个现有配置文件(在 Apple 配置门户上定义):

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

你是如何移植你的身份的?最简单的方法是使用您显示的窗口底部的导入/导出按钮 - 从工作系统导出,导入到新系统。这应该确保复制所有证书和配置文件。
但是如果旧机器的硬盘驱动器损坏(并且没有备份)或已经重新格式化怎么办?
实际上很明显,将问题作为评论是一个糟糕的主意。 (一个全新的stackoverflow问题。或找到现有问题是正确的想法。)

s
shim

使用 Xcode 4.2 及更高版本,包括 Xcode 4.6,有一种更好的方法可以将整个开发人员配置文件迁移到新机器上。在您现有的机器上,启动 Xcode 并执行以下操作:

打开管理器(Shift-Command-2)。选择设备选项卡。选择LIBRARY下左上角的Developer Profile,它可能位于标题库下或名为TEAMS的标题下。选择窗口左下方附近的导出。 Xcode 要求您选择文件名和密码。

编辑 Xcode 4.4:

对于 Xcode 4.4,在第 3 步选择 LIBRARY 下的 Provisioning Profiles。然后使用鼠标或 Command-A 选择您的配置文件。

此外,Apple 正在改进他们管理 Xcode 这方面的方式,一些用户报告说右下角的刷新按钮可以解决问题。因此,请先尝试单击“刷新”,如果没有帮助,请执行导出/导入序列。

WP 添加的 Xcode 4.6 的图片

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

编辑 Xcode 5.0 或更新版本:

打开 Xcode -> Preferences ('Command' + ',') 从列表中选择 Apple ID。单击窗口左下角附近的 SETTING 图标,然后选择 EXPORT ACCOUNTS... Xcode 要求您选择文件名和密码。

在您的新机器上,启动 Xcode 并导入您在上面导出的配置文件。奇迹般有效。

Ankur 添加的 Xcode 5.0 图片

https://i.stack.imgur.com/qH8IL.jpg


对于第 3 步,我没有在 LIBRARY 下列出“开发者资料”。相反,我必须在 TEAMS 下选择 <我的团队名称>。
我不断收到“找不到有效的签名身份”!
我有 2 台以上用于开发的计算机。我在其中一个上导出了配置文件,但我无法从 Organizer > Library > Provisioning Profiles 页面导入它。我必须转到 Library > Teams > myUserID 页面才能导入开发人员资料。
苹果正在“改进”这些东西,但每一步都会带来新的痛苦。我还在一次又一次地拔头发……
我提供了一张图片来帮助 XCode 4.6 用户更清楚地了解这一点。 APPLE YU NO 让这一切变得简单????
s
shim

我今天刚遇到类似的问题。不幸的是,我的 HD 在我身上死了,所以我无法在接受的答案中进行此处提到的迁移。我必须执行以下步骤:

连接到 Apple Developer 会员中心,然后连接到 iOS 临时门户。吊销我的证书。通过提供一对新的私钥和公钥来创建新证书。删除所有以前的配置文件并创建新的。下载新的配置文件并将它们安装到 Xcode 中,只需将它们拖到 Dock 中的 Xcode 图标即可。

post 也提到了相同的操作。


谢谢,这对我有用(我没有带我的旧 Mac 来转移任何东西)。
谢谢@tiguero ..我的HD也崩溃了..从HD恢复数据后,我一直在努力寻找相同的答案。但是当我刚刚使用钥匙串和配置门户重新创建证书时。它解决了所有问题。注意:我们可能需要修改配置文件并将新证书添加到它们,然后重新下载并重新安装所有它们。干杯编码员..我希望这可以帮助寻找答案的人。
这是非常重要的知识。 (在创建新证书之前需要吊销以前的证书并不直观,但 Apple 以这种方式工作绝对是一种很好的操作实践。但是,如果您丢失了密钥,这会让您的生活变得艰难。)
如果您撤销已用于签署生产中应用程序的证书,这不会以某种方式影响应用程序吗?
@EmmanuelAy 如果您的 iOS 开发者计划会员资格有效,您在 App Store 上的现有应用程序不会因吊销您的证书而受到影响。看看这里:developer.apple.com/support/technical/certificates
s
shim

确保您的证书在“登录”钥匙串中。如果您没有看到登录钥匙串,请突出显示它,搜索它。然后将证书拖到“登录”字样上。关闭并重新打开 Xcode,ta-da。


非常感谢,一切对我来说似乎都是正确的,除了我的证书在系统中而不是登录。温我把它们搬过来了,一切都像魅力一样!
哦,像 developer.apple.com/ios/manage/overview/index.action 中所述的简单点击不起作用。应手动选择位置
L
LaC

您需要从旧 Mac 复制私钥和证书。在旧 Mac 上打开 Keychain Access 并查看登录钥匙串的 Keys 类别:钥匙应该在那里。您需要同时导出公钥和私钥,然后将 yourkey.pemyourkey.p12 复制到新 Mac。

使用 Keychain Access 导入它们可能会失败,至少在 10.6 以下;您可以改用以下命令:

security import yourkey.p12
security import yourkey.pem

Keychain Access 有时无法导出或导入私钥。您可以使用 security 命令行实用程序来代替它。我保证它有效。
@LaC:我可以删除新 Mac 上的一些现有条目吗?
您可以删除不再需要的条目。如果您不确定是否需要它们,当然最好不要删除它们。
您应该使用 Organizer 的导出/导入功能来迁移您的开发者资料。请参阅我刚刚发布的答案。
我尝试了所有其他步骤,但它们没有工作..我尝试了这个,.p12 导入工作正常,但.pem 说它是导入的,但是当我进入钥匙串时,它们没有显示.. 和xCode 仍然说无效的签名证书......有什么建议吗?
B
Bobjt

对于错误

未找到有效的签名身份

请参阅 Apple 的 published steps 以解决此问题。

关于 iOS 门户上的“5 个现有配置文件”问题,这些问题在 Xcode 4.x Organizer > Devices 选项卡 > Library 下的 Provisioning Profile 部分中的本地库中缺失。

我推荐 following the steps,它会引导您恢复丢失的配置文件,并且还涵盖 Xcode 错误的情况,其中 Xcode 4.1-4.2.1 错误地从您的本地库配置文件中删除,这些配置文件在 iOS 门户上是“活动的”。


我喜欢这个答案,因为它确实有效,而且他们的文档会尽量保持更新
L
Legolas

您必须访问您的开发者站点,访问您的证书,然后为您当前的 MAC 生成一个新的,并将其添加到您的钥匙串中。

然后您将需要再次添加配置文件。它现在应该可以工作了。基本上,您需要执行与第一次获得开发证书时相同的步骤。


H
Has AlTaiar

我有同样的错误,但问题略有不同。我们有一个开发人员团队,但我们都使用相同的 Apple ID(开发人员帐户),所以当我生成配置文件时,我一直收到与主题问题相同的错误。然后,尽管我已经下载了证书(作为开发配置助手步骤的一部分得到提示),但我仍然收到该错误。然后我发现问题是我们的 Apple Developer 帐户正在使用在我的同事机器上生成的证书,所以我需要撤销它,并生成一个新证书,然后创建配置文件。

总结,吸取的教训是,用于您的配置文件的证书必须在将使用配置文件的同一台计算机上生成。当您的开发团队共享同一个 Apple ID 时,这一点尤其重要。希望它可以帮助某人


实现此目的的另一种方法是将您的工作伙伴的证书和私钥迁移到您的钥匙串商店。因为配置文件与证书相关联。
s
superjos

我对这个错误的 2 美分,即使与导出/导入场景无关:

添加移动配置证书(即 PROV 文件)时,请勿将该文件从 Finder 拖到 Keychain Access。相反,只需在 Finder 中双击 PROV 文件,同时保持钥匙串访问应用程序在某处运行。

实际上,我已经看到我以前在 Keychain 中的配置项(带有黄灯的项)被替换为具有相同名称和应用程序 ID 的新的绿色项。高温高压


谢谢,在 Xcode Organizer 下的 Provisioning Profiles 下单击 Add 也会失败,而如果我双击 .mobileprovision 文件,一切正常。
N
Neeku

今天早上我刚打开一个带有不同证书的旧应用程序并允许它访问钥匙串时遇到了这个问题。我的另一个运行良好的应用程序停止处理此错误。直到现在我一直在拔头发,当我这样做时:

Xcode 菜单 > 首选项 > 帐户 > THE_APPLE_ID_THAT_YOU_ARE_USING > 查看详细信息

在新窗口中,在 Signing identities 的左下方,按 + 按钮并选择 iOS Development。它将重新添加身份,之后我的问题现在得到解决,应用程序再次在设备上运行。

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


s
shim

我的 MAC 操作系统最近崩溃了。我重新安装了 macOS 10.7.4 和 Xcode 4.5。但所有配置文件都在 organizer 中显示以下消息。

Valid Signing identity not found

我挣扎了几天寻求帮助。后来我意识到,如果您从一个系统迁移到另一个系统(或格式化您的系统),您需要将您的私钥从旧系统的钥匙串导出到新系统(或安装的新操作系统)。

还可以在管理器中导出您的开发人员资料/团队开发人员资料。

Organizer > Teams > Developer Profile > Export

希望能帮助到你。


s
shim

我和 Tiguero 发生了同样的事情(感谢您的回答,它给了我希望),但这是一种无需删除所有配置文件即可消除“未找到有效签名身份”错误的方法。

如果您在一个新系统上并且无法从另一个系统检索您的密钥,您确实必须删除并重新生成 Xcode 的新开发和分发证书。您可以通过 Xcode 或使用 Keychain Access 的老式方式来执行此操作。

然后您可以进入 Provisioning,在每个选项卡、DevelopmentDistribution 中,单击要更新的配置文件旁边的 Edit,然后单击 Modify

您将看到一个证书列表,您必须选中刚刚创建的证书旁边的框,然后选中 Submit

完成此操作后,进入您收到错误消息的 Xcode(我使用的是 4.3.3)Organizer > Devices > Library > Provisioning Profiles,然后单击 Refresh。在您回答输入开发者登录信息的提示后,Organizer 将重新下载配置文件,并且错误消息应该会消失。


此外,在构建到设备之前,您可能必须进入构建设置面板并选择新的 iPhone 开发人员配置文件以避免代码签名错误。
s
shim

我或多或少地解决了“找不到有效的签名身份”错误:

确保您的 iOS 开发人员程序中的证书也列在您的钥匙串访问权限中并且有效(比较发行日期)。如果不是,请使用苹果参考中的说明从您的旧 Mac 传输它,或者从网站和您的钥匙串访问中删除它,然后重新创建它,重新下载并将其拖到 Xcode 上。删除任何现有的开发或分发配置文件并根据您的新证书重新创建它们,重新下载它们并从钥匙串访问中验证一切是否有效。


N
NANNAV

您似乎可以将您的证书和配置文件从一台机器转移到另一台机器上,所以如果您因为迁移了开发机器而在设置证书和/或配置文件时遇到问题,请查看以下内容:

how to transfer xcode certificates between macs


J
Jim T

对我来说,诀窍是发现即使我可以在登录下看到开发人员证书,但它不在我的证书下。修复方法是从旧 Mac 上的钥匙串中导出证书,然后将其导入新 Mac 上的“我的证书/登录”中。


n
newenglander

还没有人提到这一点,这可能不是一个常见的问题,但我在 Xcode 5 中遇到了类似的问题:确保在 Mac 的钥匙串访问中选择了默认钥匙串。我尝试全新安装 Mountain Lion 并删除了一个钥匙串,这恰好是默认设置。在将另一个钥匙串设置为默认值后(右键单击钥匙串并选择 Make Keychain "Keychain_name" default"),Xcode 能够设置有效的签名身份。


m
mohrt

我遇到了这个问题,因为与配置文件关联的 iOS 开发证书不在我的钥匙串中。我已经重新安装了 OSX,这就是结果。我做了以下事情:

developer.apple.com 在 Certificates, Identifiers & Profiles 下

选择相应(且有效)的 iOS 开发证书,下载

双击下载的文件,它被添加到钥匙串

组织者中的错误消失了

如果您没有有效的证书,请生成一个新证书并使用它创建一个新的配置文件。