Xcode 和 SPM 库
Posted
技术标签:
【中文标题】Xcode 和 SPM 库【英文标题】:Xcode and SPM Libraries 【发布时间】:2016-06-30 08:26:04 【问题描述】:我想使用 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.swift
中使用 import SocksCore
并使用它时,通过 CLI swift build
编译它可以正常运行并运行。但我的 Xcode-Project 无法编译,因为它找不到 SocksCore 模块。我想我需要导入.dylib
-Files,这样Xcode才能构建项目。
现在我的问题是:如何使用 SPM 生成这些动态库?我找不到办法做到这一点。每个关于在 Xcode 中使用 SPM 的教程都有这个 .dylib
或静态库 .a
,但是这个教程是使用比我的更旧的开发快照版本构建的。我用DEVELOPMENT-SNAPSHOT-2016-06-06-a
构建。我找不到用我的快照构建它们的方法。这不再可能了吗?或者我现在做错了什么?
或者还有其他方法可以使用 SPM 和 Xcode?如果我能找到一个解决方案来启动我的项目,那就太好了。
【问题讨论】:
【参考方案1】:当前,每当您更改包的结构时,您都需要手动重新生成 Xcode 项目。这包括添加新的依赖项,以及任何时候添加新的源文件。
【讨论】:
哦,我的...好吧,现在它就像一个魅力。非常感谢!【参考方案2】:只是为了澄清/简化丹尼尔的邓巴回答, 在每个
之后swift package update
你应该再次生成 xcodeproj:
swift package generate-xcodeproj
【讨论】:
以上是关于Xcode 和 SPM 库的主要内容,如果未能解决你的问题,请参考以下文章