OpenCombine 0.14.0

OpenCombine 0.14.0

ohitsdanielbroadway_lambMax Desiatov 维护。



  • 作者
  • Sergej Jaskiewicz

OpenCombine

codecov Language Cocoapods

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

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

CI 状态
Compatibility tests
macOS
Ubuntu
Windows
Wasm

安装

OpenCombine 包含三个公开目标:OpenCombineOpenCombineFoundationOpenCombineDispatch(第四个,即 COpenCombineHelpers,被认为是私有的。不要在您的项目中导入它)。

OpenCombine 本身没有任何依赖。即使是 Foundation 或 Dispatch。如果您想将 OpenCombineDispatch 一起使用(例如,将 DispatchQueue 作为类似 debouncereceive(on:) 等操作符的 Scheduler),则需要导入 OpenCombineOpenCombineDispatch。类似地适用于 Foundation:如果您想使用例如 NotificationCenterURLSession 发布者,则需要导入 OpenCombineFoundation

如果您为多个平台开发代码,可能更方便地导入 OpenCombineShim 模块。它在 Apple 平台上条件性地重新导出 Combine(如果可用),并在其他平台上导出所有 OpenCombine 模块。您只能在使用 SwiftPM 时导入 OpenCombineShim。它目前对 CocoaPods 不可用。

Swift 软件包管理器
Swift 软件包

要将 OpenCombine 添加到您的 SwiftPM 软件包中,请将 OpenCombine 软件包添加到 Package.swift 文件中软件包和目标依赖项的列表中。暂时不支持在 WebAssembly 上使用 OpenCombineDispatchOpenCombineFoundation 产品。如果您专攻 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 软件包添加软件包依赖项…,输入 仓库 URL,选择最新版本,并激活复选框

Select the OpenCombine and OpenCombineDispatch targets

CocoaPods

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

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