Xcode 和 SPM 图书馆

Xcode and SPM Libraries

我想用 Swift 包管理器编写我的项目。获得代码完成的唯一可能方法是通过 Xcode AFAIK。在 Vim 中获得代码完成的所有其他尝试对我来说都失败了。

我的 Swift 包的设置:

$ mkdir SwiftProject
$ cd SwiftProject

$ swift package init --type executable

此步骤生成标准包结构 Package.swift,包含 main.swift 等的源文件夹。

$ swift package generate-xcodeproj

最后一步生成 SwiftProject.xcodeproj,其中包含从 Xcode 构建 swift 包的所有设置。

到目前为止一切正常,直到通过 Package.swift 添加依赖项。

我现在的 Package.swift:

import PackageDescription

let package = Package(
    name: "SwiftProject",
    dependencies: [
        .Package(url: "https://github.com/czechboy0/Socks.git", majorVersion: 0, minor: 7)
    ]
)

现在,当我在 main.swiftimport SocksCore 并使用它时,通过 CLI swift build 编译它可以正常运行。但是我的 Xcode-Project 没有编译,因为它找不到 SocksCore 模块。我想我需要导入 .dylib-Files,所以 Xcode 可以构建项目。

现在我的问题是:如何使用 SPM 生成这些动态库?我找不到办法做到这一点。每个关于将 SPM 与 Xcode 一起使用的教程都有此 .dylib 或静态库 .a,但本教程是使用比我的更旧的开发快照版本构建的。我用 DEVELOPMENT-SNAPSHOT-2016-06-06-a 构建。我找不到用我的快照构建它们的方法。这不可能了吗?或者我现在做错了什么?

或者是否有其他方法可以使用 SPM 和 Xcode?如果我能找到启动我的项目的解决方案,那就太好了。

您目前需要在更改包的结构时手动重新生成 Xcode 项目。这包括添加新的依赖项,还包括任何时候添加新的源文件。

只是为了 clarify/simplify Daniel 的 Dunbar 回答, 每

之后
swift package update 

你应该再次生成 xcodeproj:

swift package generate-xcodeproj