gpt4 book ai didi

Swift 包管理器 - 如何 `Always Embed Swift Standard Libraries`?

转载 作者:行者123 更新时间:2023-11-30 10:35:47 27 4
gpt4 key购买 nike

我们有用 Swift 编写的 CLI 工具,供 macOS 上的常用工具(Android 和 iOS 开发人员)使用。没有安装 Xcode 的 Android 开发者会收到以下错误:

dyld: Library not loaded: @rpath/libswiftCore.dylib
Referenced from: ~/git/myClITool/macosBin Reason: image not found
Abort trap: 6

我们发现在 Xcode 中启用始终嵌入 Swift 标准库很可能会有所帮助,但此 CLI 工具是通过 SPM 导出的,忽略所有 Xcode 设置。

如何仅使用 SPM 实现此构建行为?

最佳答案

找到以下命令行参数:--static-swift-stdlib

使用示例:swift build --static-swift-stdlib -c release

这将产生我们正在寻找的输出。不幸的是,从 Swift 5 开始,这个论点不再适用于任何平台。

使用时,SPM 会抛出以下警告:

warning: Swift compiler no longer supports statically linking the Swift libraries. They're included in the OS by default starting with macOS Mojave 10.14.4 beta 3. For macOS Mojave 10.14.3 and earlier, there's an optional Swift library package that can be downloaded from "More Downloads" for Apple Developers at https://developer.apple.com/download/more/

相关 Swift 错误单:https://bugs.swift.org/browse/SR-648

关于Swift 包管理器 - 如何 `Always Embed Swift Standard Libraries`?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58063771/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com