我想用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构建快速包。
到目前为止,一切都正常工作,直到通过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?如果我能找到一个开始我的项目的解决方案,那就太好了。
发布于 2016-06-30 18:33:38
当您更改包的结构时,当前需要手动重新生成Xcode项目。这包括添加新的依赖项,但也包括任何时候添加新的源文件。
发布于 2018-10-30 18:28:04
只是为了澄清/简化丹尼尔的邓巴答案
swift package update U应该再次生成xcodeproj:
swift package generate-xcodeprojhttps://stackoverflow.com/questions/38117713
复制相似问题