【问题标题】: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 库下的库应由您的证书签名。

    现在非常重要的一点不容错过

    • 使用 lipo -info path_of_dylib 检查 Payload/Framework/*.dylib 下的库的体系结构信息,如果它包含框架 arm64e ,请以某种方式删除此拱门,这不起作用,我也不知道原因(如果有人知道请也让我知道)在该代码使用相同的代码标识签署您的库之后。

      • 以这种方式再次使用终端制作 .ipa 文件。 zip -r your_app_name.ipa Payload SwiftSupport,确保这些目录不包含。DS_Store 隐藏文件,如果退出,请在制作 ipa 之前将其删除。

    希望这些故障排除步骤能够奏效 :) 如果我遗漏了任何内容,对此深表歉意 :) 如果您想进行更多讨论,请通过电子邮件或在此处发表评论告诉我。 mshauket.developer@gmail.com

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-05
      • 1970-01-01
      • 1970-01-01
      • 2016-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多