Swift 项目的代码签名问题

Posted

技术标签:

【中文标题】Swift 项目的代码签名问题【英文标题】:Code Sign Issue with Swift project 【发布时间】:2015-06-11 10:47:02 【问题描述】:

我已安装 .p12 证书和配置文件。 当我运行在 Objective -C 中创建的项目时,它在我的 ios 设备(版本 7.1)中运行得非常好 但是当我运行在 Swift 中创建的项目时,它会抛出一个代码符号错误:

无法协同设计 /Users/sulabh/Library/Developer/Xcode/DerivedData/FacebookTutorial-fcrwkfacnatqsfcowdihbdhybvhz/Build/Products/Debug-iphoneos/FacebookTutorial.app/Frameworks/libswiftCore.dylib:协同设计失败,退出代码为 1 命令 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift-stdlib-tool 失败,退出代码为 1

我已尝试重新安装 xcode,并从钥匙串中删除证书,更改构建设置。但对 Swift 项目没有任何作用。 问题是什么?我该如何解决?

【问题讨论】:

【参考方案1】:

您需要从 Apple 开发者中心重新生成您的配置文件。据我所知,他们在配置文件中添加了一些新内容,这会导致问题。

【讨论】:

只有下载配置文件并重新安装对我有用:) 谢谢 这对我有用,我遇到了以下错误“.../.../../libswiftDispatch.dylib: codesign failed with exit code 1”。转到 Xcode Preference 右键单击​​移动到 trach 的配置文件并重新下载。【参考方案2】:

对我来说,问题是我下载后忘记安装新的配置文件。我只需要单击它以在 Keychain Access 中打开它,突然间问题就解决了。

【讨论】:

【参考方案3】:

确保您的配置文件包含适用于您的 swift 项目的正确捆绑包 ID。如果您使用推送服务,还要仔细检查推送服务证书是否正确。许多问题都与 bundle id 不匹配有关。

另外,为每个项目明确选择相应的签名证书和配置文件。使用自动也可能会导致问题。

【讨论】:

【参考方案4】:

我尝试了多种解决方案,最终修复它的是将 Xcode 更新到最新版本(从 7.2.x 到 7.3.x)。

【讨论】:

【参考方案5】:

我重命名了旧配置并使用新名称创建了一个新配置文件并且工作正常,例如,如果您的旧文件名是 APP.mobileprovision 从 iOS 配置网站将其更改为 APP_New.mobileprovision 并再次添加

【讨论】:

【参考方案6】:

我重新启动了 Xcode,清理了构建文件夹并检查了证书,配置了配置文件。它对我有用

【讨论】:

以上是关于Swift 项目的代码签名问题的主要内容,如果未能解决你的问题,请参考以下文章

带有数字签名的 Swift 签名字符串

在Swift 4中将签名输出发送到图像字段视图

代码签名目标和项目之间的区别

代码签名错误,iOS9 [重复]

Xcode 10:代码签名我的App + Framework失败,因为签署第三方依赖框架(PromiseKit)失败。适用于Xcode 9

Android:如何在使用相同证书签名的项目之间共享代码