6

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

我的 Swift 包的设置:

$ mkdir SwiftProject
$ cd SwiftProject

$ swift package init --type executable

此步骤生成标准包结构Package.swift,包含、Source 文件夹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)
    ]
)

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

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

还是有另一种使用 SPM 和 Xcode 的方法?如果我能找到一个解决方案来启动我的项目,那就太好了。

4

2 回答 2

4

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

于 2016-06-30T18:33:38.973 回答
1

只是为了澄清/简化丹尼尔的邓巴回答,每次

swift package update 

你应该再次生成 xcodeproj:

swift package generate-xcodeproj
于 2018-10-30T18:28:04.990 回答