dyld:库未加载:通过 SPM 添加 SwiftSyntax 时

Sen*_*ful 5 macos swift-package-manager

我做了以下事情:

  1. 创建一个新的 macOS 项目。
  2. 通过 Swift 包管理器包含对https://github.com/apple/swift-syntax.git的依赖项。
  3. 选择确切的版本并使用版本号0.50300.0(因为我使用的是 Xcode 12.4,这是支持的最高版本)。

当我启动应用程序时,出现运行时错误:

dyld:未加载库:@rpath/lib_InternalSwiftSyntaxParser.dylib

参考自:....

原因:找不到图片

自述文件提到:

SwiftSyntax 依赖于 lib_InternalSwiftSyntaxParser.dylib/.so 库,该库为底层 Swift C++ 解析器提供了 C 接口。当您快速构建 SwiftSyntax 链接并使用 Swift 工具链中包含的库时。如果您正在构建应用程序,请确保将 _InternalSwiftSyntaxParser 作为应用程序库的一部分嵌入。

您可以直接从工具链复制 lib_InternalSwiftSyntaxParser.dylib/.so ...

如何在工具链中找到该文件?

如何“嵌入 _InternalSwiftSyntaxParser”?

Sen*_*ful 8

  1. 通过在 Xcode.app 包中找到该文件来找到工具链中的文件:

    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/macosx/lib_InternalSwiftSyntaxParser.dylib
    
    Run Code Online (Sandbox Code Playgroud)
  2. 将此文件复制到您的 Xcode 项目的目录中。

  3. 将文件拖到 Xcode 中的项目导航器中。

    这应该会自动将其添加到目标的框架和库中。

  4. 在目标设置下,更改lib_InternalSwiftSyntaxParser.dylib为“嵌入并签名”。