问题标签 [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 - XCTest:在所有平台(Xcode、SPM Mac/Linux)上从磁盘加载文件而不使用 Bundle
我正在寻找一种XCTestCase
从不依赖于Bundle
.
Bundle
从 Xcode(或在终端上)运行测试时效果很好xcodebuild
,但捆绑包是 Xcode 项目的一部分,并且不适用于 Swift 包管理器(运行时swift test
),无论是在 Mac 上还是在 Linux 上。
有没有办法指定应该在所有平台上运行测试的当前目录?或者也许有一种方法可以确定测试的位置,也适用于所有平台?
FileManager.default.currentDirectoryPath
只返回当前执行路径(工作目录)。
swift - swift 4.0 包 generate-xcodeproj 不起作用
快速版本:4.0
Xcode 版本:9.0
我想创建一个快速的命令行工具。我想使用CommandLine。这是我的 Package.swift:
然后我使用以下快速命令:
然后我打开.xcodeproj。但是CommandLine
我的目标列表中没有。而是有两个目标:FengniaoPackageDescription
和Fengniao
. 并且CommandLineKit
不能导入到我的main.swift
。</p>
哪一步错了?
swift - 使用 Swift Package Manager 4 管理的目标中如何包含资源?
我在我的 Package.swift 文件中定义了一个测试目标,并且这个测试目标需要一些 JSON 文件,以便在运行验收测试以便运行时存根网络响应。
swift build
成功构建主目标,swift test
同样成功构建测试目标,但测试失败,因为在尝试加载它们时找不到必要的资源。
swift build
使用和时如何指定这些 JSON 资源是必需的构建资源swift test
。
这是我的 Package.swift 文件:
ios - 不能在我的库中使用 Swift 包管理器
我有一个名为Lumina的开源 Swift 相机框架,我希望能够将它与所有三个主要的 iOS 依赖管理系统一起使用。(Cocoapods 和 Carthage 工作正常。)
我所有的标签都遵循语义版本控制规则,但标题前面有字母“v”,如下所示:
对于库,清单Package.swift
文件如下所示:
在另一个项目中,我想测试 SPM 是否正常工作并使用我的框架的最新版本(当前为 v0.8.4)。我从头开始在 Xcode 9.0 中创建了一个单视图应用程序,并将以下Package.swift
文件添加到根目录:
当我这样做时,CLI 说error: unsatisfiable
我也尝试过不指定次要版本,并指定特定的版本字符串(例如"v0.8.4"
)无济于事。
我需要做什么才能使用 SwiftPM 正确构建这个库,和/或我必须向库本身添加什么支持?
swift - 在同一个 Swift 项目中使用 CHTTP 和 CHTTPParser
我创建了一个使用Kitura-Net的Swift 库,它使用CHTTPParser。
现在我正在尝试在使用CHTTP的Vapor应用程序中使用我的库。
我的库构建得非常好,没有我的库的 Vapor 应用程序也构建得很好。
但是当我将我的库添加为依赖项时,它会在 Vapor 应用程序中编译,我得到重复符号错误。
似乎 CHTTP 和 CHTTPParser 都实现了同一个类:http_parser
这是我干净构建后的日志:
有没有人有办法让我解决这个问题?
有趣的信息:当我使用 Xcode 构建和运行 Vapor 应用程序时,一切正常。
swift - Swift:如何避免执行版本检查
我正在构建一个 Swift 库。在我的库中,我定义了一个包含DateInterval
.
但是,在尝试构建我的库时,我收到以下错误:
'DateInterval'
仅适用于 OS X 10.12 或更高版本'
所以我@available(OSX 10.12, *)
在结构中添加了一个属性。
现在的问题是,每当我创建结构的实例时,我都被迫执行版本检查:
我不需要我的库在 10.12 之前的 macOS 版本上运行;有没有办法向编译器表明这一点,这样我每次使用这个结构时就不必执行繁琐的版本检查?
ios - 快速包管理器中的“警告:没有要在包中构建的目标”错误
我正在尝试使用 swift 包管理器将 SocketIO 安装到我的 swift 4 iOS 项目中。Package.swift 文件如下所示:
在命令行上,当我键入“swift build”时,会获取包但出现错误:
“警告:没有要在包中构建的目标”
当我尝试在我的应用程序中导入 SocketIO 时,我得到:
“没有这样的模块'SocketIO'”错误。
这是我第一次使用包管理器。只是想知道如何解决这个问题以及我是否需要自己在 Package.swift 文件中添加目标?
不确定我最初是否正确设置了包管理器。还想知道是否有办法卸载并重新安装 Package Manger?或者只是替换项目目录中的 Package.swift 文件的问题。
macos - 如何使用 Swift 包管理器将 MongoKitten 集成到现有的 Xcode 项目(mac osx)中?
在我已经存在的 mac 应用程序中,我使用 cocoapods 来集成某些库,但我需要使用 SPM 将 Mongokitten 集成到这个项目中。我不明白如何将我的项目链接到 Mongokitten。谁能帮我找到解决方案?
swift4 - 错误:找不到目标:MyLib;使用 Swift 4 清单中的“路径”属性设置自定义目标路径
我正在运行sudo swift test
并收到以下错误:
错误:找不到目标:MyLib;使用 Swift 4 清单中的“路径”属性设置自定义目标路径
包.swift:
swift - Swift 等待关闭线程完成
我正在使用一个使用 SPM 创建的非常简单的 swift 项目,其中包括 Alamofire。
main.swift:
如果我不使用锁,则永远不会执行闭包。有没有办法指示在退出之前等待所有线程或特定线程?
我知道这可以使用 Playgrounds 轻松实现。