Xcode 8 显示配置文件不包含签名证书的错误。
此问题仅适用于 Xcode-8 和 Xcode 7,相同的配置文件显示相关的已识别证书。
有很多方法可以解决这个问题,比如启用自动签名等。但是如果你想了解这个错误的原因,你需要查看错误消息。
它表示您在“常规选项卡”中选择的配置文件不包含您在“构建设置”->“代码签名身份”中选择的签名证书。
如果在“构建设置”->“代码签名身份”下为调试身份选择了分发证书,通常会发生这种情况。
如果这种情况发生在“签名(调试)”下,也可能是“签名身份”->“iOS 开发”未包含在配置文件中。
检查您的钥匙串中是否有缺少私钥的身份。我为同一个团队安装了多个分发证书,其中一个缺少私钥。 Xcode 仅检查钥匙串中的第一个匹配身份并自动使用它,而不是包含私钥的身份。
https://i.stack.imgur.com/lkGGR.png
删除没有私钥的匹配身份使 Xcode 再次检测到正确的身份。
为了解决这个问题,
我只是在项目设置常规选项卡中启用“自动管理签名”,在启用之前我担心它可能会产生一些副作用,但一旦我启用它对我有用。
https://i.stack.imgur.com/3Igsa.png
对于那些由于某种原因应该继续使用不自动的人
打开keyChain Access,看看是否有两个相同的Certifications,如果有两个或多个,只需删除一个即可:)
我最近将 Xcode 更新到 9.3 版后遇到了这个问题问题在于代码签名(调试下)证书设置为分发证书而不是开发证书,因此这阻止了我在我的设备上安装应用程序。
这是我为解决这个问题所做的。
项目 -> 目标 -> 选择您的应用程序 -> 构建设置 -> 代码签名身份 -> 调试 -> 双击“iPhone Distribution”并将其更改为“iPhone Developer”。
我取消选中,然后选中“自动管理签名”选项。那为我修好了。
对于值得自动签名的东西,每次都失败了,直到我手动删除了本地配置文件:~/Library/MobileDevice/Provisioning Profiles
之后,自动签名工作完美,它从 Apple 的服务器上获得了正确的配置文件。
这仅影响一些构建,尤其是我为手表应用手动创建配置文件的构建。
CMD + Shift + .
显示所有隐藏文件。
如果您使用手动签名(我肯定会鼓励),则可能会出现此错误,因为 Xcode 认为它应该使用开发人员证书签署发布版本,这显然不包含在发布配置文件中。
有一个构建设置定义了哪个证书应该用于哪个构建配置。要更改它,请转到构建设置并搜索代码签名身份。展开后,每个构建配置(通常是 Debug 和 Release)应该有单独的行,第二列是其选择的标识(通常是 iOS Developer 或 iOS Distribution)。确保将其设置为每个构建配置的正确标识。
在某些情况下,还可以扩展构建配置。确保其子项也设置为正确的身份。
有同样的错误。配置文件似乎更新了,添加了新证书,我什至在下载时检查了它。还撤销了前开发人员的证书,从配置文件中排除。但是 Xcode 仍然向我询问以前的错误证书:
No certificate for team 'MY_TEAM' matching 'iPhone Developer: FORMER_DEVELOPER' found
所以,我做了什么来解决它:
Go Build Settings -> Signing -> Code Signing Identity 找到所有“FORMER_DEVELOPER”证书并选择需要的。
希望它会帮助某人。
对于那些仍然在 Xcode8 中遇到这个问题的人。对我来说是一个重复的证书问题,这就是我解决它的方法:
我读了尼克的回答,然后我开始了我的调查。我在我的特定情况下检查了所有密钥和证书(在 ~/Library/Keychains/System.keychain 内)。
当我打开文件时,我发现我有两个 iPhone 分发证书(这是 Xcode 要求我提供的证书),一个是我从一开始就使用的 iOS 分发私钥,另一个是它的 iPhone 分发证书私钥有一个我不熟悉的名称(iOS Distribution:NAME)。我删除了最后一个证书,再次启动 Xcode,问题就消失了。 xCode 无法解决该冲突,这就是它一直给出签名证书错误的原因。
检查你的钥匙串,也许你有一个重复的证书。
您还可以使用出色的 Fastlane toolkit 解决代码签名问题。作者付出了很多努力来有效地自动化构建、签署 iOS 应用程序(以及更多)。
所以在提到的套件中,有一个工具 sigh
可以神奇地解决任何签名问题,因此得名 :) 这里的好处是,该工具封装了有关常见签名问题的知识,并且可以检测和解决大多数问题。
Fastlane 安装为 Ruby gem:
gem install fastlane
然后简单地调用:
fastlane sigh --development
回答两个问题,瞧:
[11:56:55]: No existing profiles found, that match the certificates you have installed locally! Creating a new provisioning profile for you
[11:57:01]: Creating new provisioning profile for 'com.myapp' with name 'com.myapp Development'
[11:57:06]: Downloading provisioning profile...
[11:57:09]: Successfully downloaded provisioning profile...
[11:57:09]: Installing provisioning profile...
最后,转到 Build Settings -> Signing,然后切换到新创建的配置文件,您刚刚在命令输出中看到了它的名称。
此示例用于开发代码签名问题(在设备上运行)。检查 sigh documentation 以获取所有其他选项。
就我而言,在钥匙串中我有两个同名的证书,我删除了其中一个重复的证书,然后它解决了问题。
我已经撤销了证书中的剩余私钥,证书消失了,但私钥没有。删除它们解决了问题。
要找到它们:
打开钥匙串访问单击左侧菜单类别下的“密钥”查找iOS开发人员:...”没有证书绑定的密钥我删除了它们,问题就消失了
图片中突出显示的密钥是没有证书的示例私钥。
https://i.stack.imgur.com/WfEwy.png
“启用自动签名”然后从下拉菜单中选择一个团队帮助我解决了这个确切的问题。
删除没有私钥的开发者证书。使用转到文件夹(~/Library/MobileDevice/Provisioning Profiles)从您的机器中删除配置文件然后首先选中然后取消选中项目设置中的自动管理签名选项并选择团队。在 Apple 开发人员帐户中唱歌并编辑配置文件,选择所有可用的开发人员证书,然后下载并添加到 XCODE。在项目构建设置中选择配置文件和代码签名身份
Xcode 11
这是我得到的错误
配置文件“XXX”不包括签名证书“Apple Development: XXX (XXX)”。```
现在 Xcode 11 自动创建了一个对所有平台都有效的证书“Apple Development: XXX”
https://i.stack.imgur.com/j6L18.png
你只需要
转到 https://developer.apple.com 转到您的配置文件 检查是否选择了此证书
这个问题似乎开始在 Xcode 11 中发生。
前往苹果开发者
找到正确的配置文件
按右上角的编辑
在证书中选择(分发)选项。 (我认为这是苹果推出的一种新选项/证书类型,尽管我找不到任何文档)
可选:删除 (~/Library/MobileDevice/Provisioning Profiles/) 中的所有配置文件,转到 Xcode -> Preferences->Accounts->Download Manual Profiles
https://i.stack.imgur.com/lGuCr.png
我也有同样的问题。我换了mac。当我下载 Xcode 证书时,我收到一条错误消息:“错误是安全配置文件不包含证书签名。”
1)转到https://developer.apple.com/account/ios/profile/limited/edit选择项目=>编辑=>证书=>全选=>创建 =>下载
2)在Xcode中:项目文件=>签名(调试)=>供应配置文件=>导入配置文件=>选择文件1
因为我还没有看到这个具体的答案:
我的问题是我需要手动签名。所以我的错误是在 Build Settings -> Code Signing -> Code Signing Identity
我正确设置了调试(自动签名样式和 Apple 开发证书)、暂存和发布(手动和 Apple 分发 (adHoc) 变体)。
我没有正确设置(由于我理解的一些有缺陷的逻辑)是“ANY IOS SDK”值。一旦我将它设置为相同的手动 Apple 分发证书,错误就消失了。
最初我将它设置为自动值“iOS Distribution”,因为我认为它会更好地自动处理,因为我不知道它的含义。仍然没有。哦,希望它有帮助
对我来说,上述解决方案均无效。我正在从两个旧的 mac 迁移到一个新的 mac,试图让发布/调试配置文件在 Xcode 上工作,而没有 Xcode 自动管理它们。
对我来说,解决方案是当我去创建两个新证书时,我还必须进入我的配置文件,并将新证书(在分发和开发下)添加到配置文件中,以便识别它们。完成此操作并下载后,xcode 删除了所有错误,一切顺利。
希望这对某人有帮助!
我收到了一封来自 Apple 的电子邮件:
尊敬的 John Doe, 以下证书已被您的开发团队成员吊销或已过期: 证书:iOS 开发团队名称:Honey Team, LLC 这不会影响您提交到 App Store 的应用程序或您的能力更新您的应用程序。如果您正在使用包含此证书的配置文件,则必须重新创建它们才能重复使用。有关详细信息,请参阅 Xcode 帮助的“应用程序签名概述”部分。最好的问候, Apple 开发者计划支持
我创建了一个新证书,该证书撤销了以前的证书(在本地和任何其他开发人员的 Mac 上)。为了让它工作,我必须下载新的配置文件。
解决方案是:
登录苹果开发者账号
删除/撤销以前以我的名义创建的证书。
将新证书添加到配置文件中。您可以通过到期日期识别较新的
从 Xcode 再次下载它们。 Xcode >> 帐户 >> 下载所有配置文件
重启 Xcode
我个人没有这样的访问权限。此访问权限仅对我们团队的管理员可用,因此我没有屏幕截图,也不确定这些步骤是否 100% 正确。
我还没有看到提到这一点,但如果您在重新创建配置文件、删除配置文件文件夹中的现有配置文件、检查钥匙串中的重复项等(所有其他答案 ITT)后仍然遇到问题,请打开您的Target > Build Settings > Code Signing 并确保其中的所有内容看起来一致。例如,我已将调试的代码签名标识更改为分发标识,这显然不起作用,因为开发配置文件没有分发证书并且首先导致错误。
如果您尝试将应用上传到 iTunes Connect(您的配置文件设置为分发),请转到项目设置 -> 构建设置 -> 代码签名。确保将所有 Debug 和 Release Options 设置为您的 Distribution Provisioning Provisioning Profile。
以下是为我解决的步骤(对于那些在 XCode 9.2 中面临同样问题的人):
只需手动删除 ~/Library/MobileDevice/Provisioning Profiles 中的本地配置文件。从开发人员帐户中删除并创建了所有证书和配置文件。从 Xcode 中删除开发人员帐户并重新添加它。
解决了我的问题! :-)
发生这种情况是因为配置文件找不到它所链接的证书的文件。
修理:
通过单击 Apple Developer 仪表板的证书、标识符和配置文件部分中的配置文件上的编辑来检查哪个证书链接到您的配置文件 从仪表板下载证书 双击文件以将其安装在您的钥匙串中 将文件拖到 Xcode要特别确定它是链接的
错误现在应该消失了。
这可能会帮助你
iOS 分发配置文件
设想:
另一个开发者给了我一个证书。
我简单地安装了这个
错误 :
Xcode 8 显示配置文件不包含签名证书的错误
这不是完全正确的错误。
错误是缺少私钥
首选项 -> 帐户 -> 双击团队
https://i.stack.imgur.com/hihV1.png
调用开发者发送私钥。
并将其安装到您的本地
第二个解决方案
创建一个新的证书。
编辑现有的配置文件
包括新证书
保存并下载
单击但随后取消“启用自动签名”对我有用,尽管它所做的实际更改是:
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
或在 Xcode 中称为 Always Embed Swift Standard Libraries
我有同样的问题,原因是一分钱。在构建设置中选择了错误的配置文件和证书。几天前我才这样做。因此,您不需要在 xcode 中启用“自动”。在执行之前检查构建设置中的配置文件。
尝试直接从会员中心下载证书/配置文件,而不是从 Xcode 下载。
当我从会员中心手动下载它们时,它对我有用。
我为此挣扎了很多天。
第 1 步:从开发者帐户中删除所有证书、配置文件、appID、密钥等。
第 2 步:重新创建推送通知证书、配置文件、应用程序 ID 等。
第 3 步:从钥匙串中删除所有证书。
第 4 步:从 ~/Library/MobileDevice/Provisioning Profiles 中清除所有配置文件。
第 5 步:仅添加所需的配置文件并进行测试。它工作正常。
不定期副业成功案例分享