AsyncObjects

API Docs CocoaPods Compatible Swift Package Manager Compatible Carthage compatible Swift Platforms CI/CD CodeFactor codecov

引入了多种同步原语和任务同步机制,以辅助现代 Swift 并发。

概述

尽管 Swift 的现代结构化并发提供了一种更安全的并发管理方式,但在目前的状态下,它缺乏许多同步和任务管理功能。AsyncObjects 旨在通过提供以下功能来弥补功能上的差距:

要求

平台 最低 Swift 版本 安装 状态
iOS 13.0+ / macOS 10.15+ / tvOS 13.0+ / watchOS 6.0+ 5.6 CocoaPods, Carthage, Swift Package Manager, 手动 完全测试
Linux 5.6 Swift Package Manager 完全测试
Windows 5.6 Swift Package Manager 完全测试

安装

CocoaPods

CocoaPods 是 Cocoa 项目的依赖管理器。有关使用和安装说明,请访问其网站。要使用 CocoaPods 将 AsyncObjects 集成到您的 Xcode 项目中,请在您的 Podfile 中指定它

pod 'AsyncObjects'

或者,您还可以使用 GitHub 发布页面上预构建的 XCFramework,只需将 {version} 替换为您要使用的所需版本即可

pod 'AsyncObjects', :http => 'https://github.com/SwiftyLab/AsyncObjects/releases/download/v{version}/AsyncObjects-{version}.xcframework.zip'

Carthage

Carthage 是一个去中心化的依赖管理器,可以构建您的依赖项并为您提供二进制框架。要使用 Carthage 将 AsyncObjects 集成到您的 Xcode 项目中,请在您的 Cartfile 中指定它

github "SwiftyLab/AsyncObjects"

Swift Package Manager

Swift Package Manager 是一种用于自动化 Swift 代码分发的工具,它集成在 swift 编译器中。

设置好 Swift 包后,将 AsyncObjects 添加为依赖项就像将其添加到 Package.swiftdependencies 值一样简单。

.package(url: "https://github.com/SwiftyLab/AsyncObjects.git", from: "1.0.0"),

或者,您还可以使用 GitHub 发布页面上预构建的 XCFramework,只需将 {version}{checksum} 替换为您要使用的所需版本和工件校验和,但在此情况下,必须单独添加依赖项

.binaryTarget(name: "AsyncObjects", url: "https://github.com/SwiftyLab/AsyncObjects/releases/download/v{version}/AsyncObjects-{version}.xcframework.zip", checksum: "{checksum}"),

手动

如果您不想使用任何上述依赖管理器,您可以手动将 AsyncObjects 集成到您的项目中。

Git 子模块

XCFramework

您也可以直接从 GitHub 发布页面下载预构建的工件

用法

有关 API 详细信息和示例场景的文章,请参阅完整的文档

贡献

如果您希望贡献更改,提出任何改进建议,请查看我们的贡献指南,检查未解决的问题,是否已经在处理中或打开拉取请求

许可证

AsyncObjects 是在 MIT 许可证下发布的。 有关详细信息,请参阅 LICENSE