问题标签 [swift-package-manager]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
swift - 来自命令行的 Swift 包管理器“架构 x86_64 的未定义符号”
我有一个使用Swift Package Manager的应用程序,它从命令行运行并使用Swiftest进行测试。我没有使用 Xcode,这是我的第一个 Swift 项目,所以我不知道如何摆脱这个错误。
我正在尝试删除不再使用的依赖项。我的Package.swift
文件如下所示:
我想从“Target2”中消除“Target1”依赖。我收到此错误:
我为这个错误看到的所有解决方案都参考了 Xcode,所以老实说,我什至不确定在哪里寻找这个。Target1 文件未在 Target2 文件中的任何位置使用或引用。这是应用程序的设计:
我main.swift
在应用程序中的文件是跑步者。这是两个文件连接的唯一地方,因为我将 Target1 类的函数的返回值注入到 Target2 类的新实例中。这可能比您需要的信息更多。
无论如何,为什么会发生这种情况?为什么我需要保持对Package.swift
我实际上并不依赖的东西的依赖?
感谢您的帮助,如果您需要更多信息,请告诉我。
linux - Swift 包管理器错误:NoSources
我正在添加一个依赖包,并且在构建时出现此错误:
请告诉我如何克服这个错误。有没有办法指示 SPM 不要进入Tests
特定依赖项?特定于包的exclude: []
声明或其他内容。
谢谢!
swift - Swift 包管理器导致 Alamofire 产生错误
我有一个 Xcode 项目,它使用 cocoapods 嵌入 Alamofire 库。我的 Podfile 看起来像这样:
现在,我需要使用另一个库,顺便说一下,它是 Swift 的 MongoDB 驱动程序。鉴于我在 iOS 开发领域相对较新,我可以方便地在 Podfile 中添加另一行提及 MongoDB 驱动程序,但是,它不能用作 cocoapod。在驱动程序的 GitHub 存储库中,指定要安装它,只需将库添加到 Package.swift 文件中。
我花了一些时间来弄清楚如何安装 Swift 包管理器,但我最终还是做到了。现在,据官方文档所述,
包管理器将与 Swift 3 一起发布,目前仅在 Swift 3 开发快照中可用。
并按照 SPM 官方 github repo 的安装说明,我下载并安装了最新的开发快照(截至 2016 年 4 月 12 日)。此外,我遵循了 XCode 7.3(我的版本)的其余相关说明,现在当我运行swift build --version
终端时会显示预期的输出Apple Swift Package Manager 0.1
当我运行xcrun --find swift
它显示:
当我运行swift --version
它显示:
很抱歉这么冗长的介绍,但这是问题所在:
当我从 Xcode 7.3 默认工具链更改为 XCode Swift Development Snapshot 以使用 SPM 以及在重新启动 Xcode 后尝试构建项目时(为了进行工具链更改),编译器会生成很多错误关于 Alamofire 库,它以前在使用默认工具链时工作过。
问题是: 如何解决这些问题,以便我使用 SPM 导入必要的 MongoDB 驱动程序并同时导入 Alamofire pod 而不会出现这些错误?
我的假设是 Alamofire 是用 Swift 2.2 编写的,但是为了运行 SPM 和构建项目,需要 swift 3.0 dev,因此,错误可能与 swift 的冲突版本有关。如果我错了,请纠正我。
我对 SPM 的内部如何工作以及如何将 SPM 与 Xcode 7.3 连接的理解有限,即使我从 Apple 官方文档中阅读了相应的文档,因此感谢任何帮助/解释!
linux - Swift:工具链下载貌似缺少组件
在 swift 网站上,您有几个选项/版本可供选择,但有些软件包似乎不包含swift-build,这是什么原因?
尤其:
15.10 的版本应该类似。主分支 tar-ball 似乎并非如此。
实际上,尝试尽可能保持最新状态对我来说非常重要,因为 Swift 在这个时间点会发生内存泄漏。
xcode - Xcode 和 SPM 库
我想用 Swift 包管理器对我的项目进行编码。获得代码完成的唯一可能方法是通过 Xcode AFAIK。在 Vim 中完成代码的所有其他尝试对我来说都失败了。
我的 Swift 包的设置:
此步骤生成标准包结构Package.swift
,包含、Source 文件夹main.swift
等。
最后一步生成SwiftProject.xcodeproj
用于从 Xcode 构建 swift 包的所有设置。
到目前为止一切正常,直到通过Package.swift
.
我的当前Package.swift
:
现在,当我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 的方法?如果我能找到一个解决方案来启动我的项目,那就太好了。
swift - Vapor Web 框架:错误:Swift 不支持 SDK 'MacOSX10.11.sdk'
尝试使用 Swift 3 和 Xcode 构建 Vapor 0.13(以及可能的其他版本)时
环境
以下错误通常是第一个结果:
错误:Swift 不支持 SDK 'MacOSX10.11.sdk'
swift - Swift 中的多模块项目
我正在开发一个由几个不同的逻辑部分(即“库”)组成的 iOS 应用程序。
创建此类项目的 Swift 方式是什么?如何在 Xcode 中设置它?
swift - 将静态 C 库与 Swift 包管理器一起使用
我想使用 Swift 包管理器在我的构建中包含一个静态C 库。Apple 的文档显示了共享库的过程,但我希望有一种使用静态的方法。我能够使用 链接到静态库swiftc
,因此希望我应该能够使用swift build
.
我有一个小示例问题,它使用一个静态 C 库,其中包含一个将两个数字相乘的函数。(注意:我在 Linux 上运行 Swift 3 Preview 1)
目录结构如下所示:
example/Package.swift 的内容:
example/main.swift 的内容:
CMult/Package.swift 的内容:
CMult/module.modulemap 的内容:
现在的问题是,当我运行时example$ swift build
,链接器抱怨错误“/usr/bin/ld: cannot find -lmult”,这并不奇怪,因为它不存在,而且我还没有告诉它去哪里看。我想要的是在模块映射中指定 -L 标志的某种方式,指定在哪里查找 .a 文件(这是我用 .a 链接到我的 .a 的方式swiftc
)。一个不太理想但可接受的解决方案似乎是将 LD_LIBRARY_PATH 环境变量设置为在 CMult/ 中查找,但这并没有改变错误。
有任何想法吗?谢谢。
swift - 将模块名称设置为与 SwiftPM 中的目录名称不同
我有一个带有核心模块和可选奖励模块的 Swift 库。我想使用以下目录布局,映射到导出的 Swift 包名称,如下所示:
在我看来,这是一个合理的项目布局。但是,如果我正确阅读了文档,这将污染全局模块名称空间,并带有无用的名称,例如“Core”。似乎 SwiftPM 只会导出名称与目录名称相同的模块,因此我必须这样做:
有没有办法配置Package.swift
使用上面更整洁的目录布局并仍然导出所需的模块名称?
或者,是否可以在项目内部制作 Core、Toppings 和 SideDishes 模块,并将它们作为一个大的 Taco 模块导出到世界各地?
ios - 运行 `swift build` 后,找不到类下载的依赖项
我正在尝试使用Swift 包管理器创建一个示例,在其中创建一个小型库,将其托管在我的 github 上,然后使用该库作为依赖项来创建可执行的Swift 程序。
这是我的设置:
图书馆
MyXMLHelper.swift 包.swift也欢迎您在我的github上查看原始版本。
可执行文件(命令行)
main.swift 包.swift运行后swift build
,文件夹结构如下:
因此,swift build
成功下载了依赖项,但它也给了我以下错误:
有谁知道这是为什么?为什么找不到类MyXMLHelper
,它不应该在这里可见吗?