OpenCombineDispatch 0.14.0

OpenCombineDispatch 0.14.0

ohitsdanielbroadway_lambMax Desiatov维护。



  • Sergej Jaskiewicz

OpenCombine

codecov Language Cocoapods

苹果 Combine 框架的开源实现,用于处理随时间推移的值。

本项目的主要目标是提供一个兼容、可靠且高效的实现,可以在macOS 10.15和iOS 13之前的Apple操作系统上使用,以及在Linux、Windows和WebAssembly上使用。

CI状态
Compatibility tests
macOS
Ubuntu
Windows
Wasm

安装

OpenCombine 包含三个公开的目标:OpenCombineOpenCombineFoundationOpenCombineDispatch(第四个 COpenCombineHelpers 被视为私有。不要将它们导入到项目中)。

OpenCombine 本身没有依赖。甚至没有Foundation或Dispatch。如果您想将 OpenCombine 与 Dispatch 一起使用(例如,使用 DispatchQueue 作为 Scheduler 的操作符,如 debouncereceive(on:) 等),则需要导入 OpenCombineOpenCombineDispatch。对 Foundation 也适用:如果您想使用 NotificationCenterURLSession 发布者,您也需要导入 OpenCombineFoundation

如果您在同一平台上开发代码,您可能希望导入 OpenCombineShim 模块,这会条件性地导出 Combine 在 Apple 平台上(如果有),以及在其他平台上的所有 OpenCombine 模块。您只能在使用 SwiftPM 时导入 OpenCombineShim。目前它对于 CocoaPods 不可用。

Swift Package Manager
Swift Package

要将 OpenCombine 添加到您的 SwiftPM 包中,请将 OpenCombine 包添加到 Package.swift 文件中的包和目标依赖列表。目前 OpenCombineDispatchOpenCombineFoundation 产品不支持 WebAssembly。如果您的项目仅针对 WebAssembly,请在依赖列表中省略它们。如果它针对包括 WebAssembly 在内的多个平台,请仅在非 WebAssembly 平台上依赖它们,使用 条件目标依赖关系

dependencies: [
    .package(url: "https://github.com/OpenCombine/OpenCombine.git", from: "0.14.0")
],
targets: [
    .target(
        name: "MyAwesomePackage",
        dependencies: [
            "OpenCombine",
            .product(name: "OpenCombineFoundation", package: "OpenCombine"),
            .product(name: "OpenCombineDispatch", package: "OpenCombine")
        ]
    ),
]
Xcode

OpenCombine 还可以直接在您的 Xcode 项目中添加为 SwiftPM 依赖(需要 Xcode 11 及以上版本)。

要做到这点,请打开 Xcode,使用 文件Swift Packages添加 Package Dependency…,输入 仓库 URL,选择最新可用的版本,并激活复选框

Select the OpenCombine and OpenCombineDispatch targets

CocoaPods

要将 OpenCombine 添加到使用 CocoaPods 的项目中,请将 OpenCombineOpenCombineDispatch 添加到您的 Podfile 中的目标依赖列表。

pod 'OpenCombine', '~> 0.14.0'
pod 'OpenCombineDispatch', '~> 0.14.0'
pod 'OpenCombineFoundation', '~> 0.14.0'

调试器支持

文件 opencombine_lldb.py 定义了一些 lldb 类型摘要,以便更轻松地进行调试。这些类型摘要改善了 lldb 和 Xcode 显示一些 OpenCombine 值的方式。

要使用 opencombine_lldb.py,找出其完整路径。假设完整路径为 ~/projects/OpenCombine/opencombine_lldb.py。然后,将以下语句添加到您的 ~/.lldbinit 文件中

command script import ~/projects/OpenCombine/opencombine_lldb.py

当前,opencombine_lldb.py 定义了以下类型的类型摘要

  • Subscribers.Demand
  • 这次的介绍就到这里。

贡献

请参见 CONTRIBUTING.md