gpt4 book ai didi

swift - 将 XCodeProj 转换为 Package.swift

转载 作者:行者123 更新时间:2023-11-28 05:42:28 24 4
gpt4 key购买 nike

我最近接手了一个 swift 项目,我更愿意在 Linux VM 上进行开发,而不是我拥有的动力不足的 Mac。我找到了很多关于如何从 Package.swift 到 xcodeproj 的教程。但我还没有找到任何可以转向另一个方向的东西(xcodeproj 到 Package.swift)。看来我需要 Package.swift 才能使用 swift cli(swift 构建)。

  1. 有没有没有 Package.swift 文件的构建方法?
  2. 有没有我还没有找到的方法来做到这一点?
  3. 是否存在我们无法从 xcodeproj 转到 Package.swift 的技术原因?

最佳答案

1./2.Package.swift 文件在内部被翻译成一组 swiftc 命令。如果你在一个完全工作的 Swift 包上运行 swift build -v(详细),你可以看到正在运行的命令。使用这些命令,您可能能够弄清楚如何在没有 Package.swift 的情况下编译任何 Swift 源代码集合。

对于一个框架,一个命令可能看起来像这样:

swiftc -module-name TestPackage -emit-dependencies -emit-module -c Path/to/Sources/*.swift -Onone -g -enable-testing -j8 -DSWIFT_PACKAGE -DDEBUG -Xfrontend -color-diagnostics

在编译可执行文件时,可能会有额外的命令来链接标准库等。

3。Xcode 的功能集远远超过了 Swift 包的功能(例如.app bundle、Storyboards、Metal 源文件、ObjC、C、C++ 等)

但是,您可以通过运行 swift package init --type library|executable 创建 Package.swift 文件,将命令行项目转换为 Swift 包。然后,您可以在 Package.swift 文件中为目标指定一个 path 参数:

.target(name: "YourTarget", path: "Path/To/Your/Swift/Files")

关于swift - 将 XCodeProj 转换为 Package.swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56120223/

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