【问题标题】:The file libswiftCore.dylib doesn’t have the correct code signature文件 libswiftCore.dylib 没有正确的代码签名
【发布时间】:2019-10-27 18:13:03
【问题描述】:
我知道这个问题被问了很多次,人们提出了很多解决方案。就我而言,我已经尝试了所有这些。我尝试的是
仅供参考:我不能使用 xcode 进行构建。
原因:我正在编写 chromium ios 代码,一切都是使用 GN 构建系统构建的。
- 创建 SwiftSupport 文件夹并将其作为 ipa 文件的一部分。
- 还在我的框架下和 SwiftSupport 文件夹下签名了 Dylib。
- 完整的应用程序使用通过终端验证的相同身份进行签名。
有人知道苹果还需要什么签名吗?
欢迎提供更多故障排除步骤。
【问题讨论】:
标签:
ios
swift
build
chromium
gn
【解决方案1】:
我修复了这个问题,让我总结一下,希望对遇到这个问题的每个人都有帮助,这里有一些故障排除步骤。
在我的例子中,XCode 构建设置我通过一些脚本进行了更改,如果您使用一些构建系统来制作 XCode 项目,则始终将 swift 嵌入库添加为 YES,否则您可以转到 XCode 构建设置并设置一个标志是的
将您的 IPA 更改为 .zip 然后解压缩,应该有 SwiftSupport 文件夹,如您的项目所需的 SwiftSupport/iphoneos/all dylib 库。
如果 Swift Support 文件夹不存在,那么您必须创建 swift support 文件夹并通过终端使用某些命令附加 IPA,就我而言,我确实喜欢这样做。 zip -r selected_your_ipa_name.ipa Payload SwiftSupport ,Payload 文件夹将包含 .app 文件,而 SwiftSupport 文件夹将包含 .dylib 像这样的层次结构 SwiftSupport/iphoneos/*.dylib
SwiftSupport 文件夹库应该是苹果证书的代码签名,而不是你的证书。让它工作只需从这个路径复制.dylib“/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphoneos/”
您的此框架文件夹 Payload/Framework/.dylib 库下的库应由您的证书签名。
现在非常重要的一点不容错过
希望这些故障排除步骤能够奏效 :) 如果我遗漏了任何内容,对此深表歉意 :) 如果您想进行更多讨论,请通过电子邮件或在此处发表评论告诉我。 mshauket.developer@gmail.com