Xcode 8显示configuration文件不包含签名证书的错误
Xcode 8显示configuration文件不包含签名证书的错误。
这个问题与Xcode-8只与Xcode 7,相同的供应configuration文件显示相关的识别证书。
检查您的钥匙串是否缺less私钥的身份。 我为同一个团队安装了多个分发证书,其中一个缺less私钥。 Xcode只检查钥匙串中的第一个匹配标识,并自动使用这个标识,而不是那个包含私钥的标识。
删除没有私钥的匹配标识使Xcode再次检测到正确的标识。
要解决这个问题,
我只是在项目设置常规选项卡启用“自动pipe理签名”,在启用之前,我担心它可能会有一些副作用,但一旦我启用,适用于我。
希望这有助于他人!
我取消选中,然后选中“自动pipe理签名”选项。 这为我修好了。
有很多方法可以解决这个问题,比如启用自动签名等。但是如果你想了解这个错误的原因,你需要看看错误信息。
它表示您在“常规”选项卡中select的供应configuration文件不包含您在“生成设置” – >“代码签名标识”中select的签名证书。
如果在“构build设置” – >“代码签名标识”下为debugging标识select了分发证书,通常会发生这种情况。
如果在“签名(debugging)”下发生这种情况,那么configuration文件中可能不包括“签名身份” – >“iOS开发”。
为什么值得自动签名每次都失败,直到我手动删除本地configuration文件:〜/ Library / MobileDevice / Provisioning Profiles
之后,自动签名工作完美,并从苹果的服务器得到正确的configuration文件。
这只影响了一些版本,特别是我为手表应用程序手动创buildconfiguration文件的版本。
对于那些仍然在Xcode8中遇到这个问题的人来说。 对我来说是一个重复的证书问题,这是我解决它的方法:
我读了尼克的回答,然后我开始了调查。 我检查了我的特殊情况下的所有密钥和证书(在〜/ Library / KeyChains / System.keychain中)。
当我打开文件时,我发现我有两个iPhone分发证书(这是Xcode要求我的证书),一个是从一开始就使用的iOS分发私钥,另一个是分发私钥私人密钥有一个名字(iOS分布:名称),这不是我所熟悉的。 我删除了最后一个证书,再次启动Xcode,问题就没有了。 xCode无法解决这个冲突,这就是为什么它一直在给出签名证书错误的原因。
检查你的钥匙链,也许你有一个重复的证书。
对于那些因为某些原因应该继续使用的人而言
打开keyChain Access查看是否有两个相同的authentication,如果有两个或更多,只需删除到一个,它将工作:)
您也可以使用伟大的Fastlane工具包来解决代码签名问题。 作者付出了很多努力来有效地自动化构build,签署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的供应configuration文件,其名称刚刚在命令输出中看到。
此示例适用于开发代码签名问题(在设备上运行)。 检查所有其他选项的叹息文档 。
- 删除没有私钥的开发者证书。
- 使用转到文件夹(〜/ Library / MobileDevice / Provisioning Profiles)从您的机器中删除configuration文件
- 然后首先检查,然后取消选中项目设置中的自动pipe理签名选项,并select团队。
- 在Apple开发人员帐户中唱歌,然后编辑configuration文件,select所有可用的开发人员证书,然后下载并添加到XCODE。
- 在项目构build设置中select设置configuration文件和代码签名标识
“启用自动签名”,然后从下拉菜单中select一个团队帮助我解决这个问题。
对于我来说,上述解决scheme都没有工作。 我正在从两个较旧的Mac迁移到一个新的Mac,试图获得释放/debuggingconfiguration文件工作在Xcode 没有 Xcode自动pipe理他们。
对我来说,解决scheme是,当我去创build两个新的证书时,我还必须进入我的configuration文件,并在configuration文件中添加(在分发和dev下)新证书,以便识别它们。 做这个和下载之后,Xcode删除了所有的错误,这是很好的去。
希望这可以帮助别人!
点击,然后取消“启用自动签名”为我工作,但它所做的实际更改是:
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
或者在Xcode中,它被称为Always Embed Swift Standard Libraries
我有同样的问题和理由是便士。 在构build设置中select了错误的configuration文件和证书。 我只是在几天之前就这样做了。 所以,你不需要在xcode中启用“自动”。 在执行之前检查构build设置中的configuration文件。
尝试直接从会员中心下载证书/configuration文件,而不是从Xcode中进行。
当我从会员中心手动下载它们时,它对我有效。
我一直在挣扎多日。
步骤1:从开发者账户中删除每个证书,configuration文件,appID,Key等。
第2步:重新创build推送通知证书,configuration文件,应用ID等
第3步:删除钥匙串中的所有证书。
第4步:清除〜/ Library / MobileDevice / Provisioning Profiles中的所有configuration文件。
步骤5:仅添加所需的configuration文件并进行testing。 它工作正常。