一款 iOS 应用启动器,无需安装即可在其中运行 IPA 应用,并支持每个应用多个数据容器。
pointfreeco/swift-composable-architecture
一个用于构建 Apple 平台应用的 Swift 库,提供统一的状态管理、可组合的功能模块与便于测试的副作用处理。
- Star
- 14,979
- Fork
- 1,678
- 未关闭 Issue
- 26
- 最近提交
- 14天前
这是什么?
The Composable Architecture(TCA)是一个用于构建 Apple 平台应用的 Swift 库,目标是让应用的状态管理方式统一、易懂且便于测试。开发者用 State 描述功能的数据,用 Action 描述所有可能发生的事件,再通过 Reducer 定义状态如何变化以及需要执行哪些副作用,最后由 Store 驱动逻辑并更新界面。这套结构可同时用于 SwiftUI 和 UIKit。
大型功能可以拆分为相互独立的小模块,再组合回完整功能,适合跨多个 Xcode target 或 Swift Package 的模块化项目。网络请求等副作用以值的形式由 Reducer 返回,测试时可以替换为模拟依赖。库中的 TestStore 允许按步骤断言每次发送 Action 后状态的变化,以及副作用回传数据后的结果。
该库支持 iOS、macOS、iPadOS、visionOS、tvOS 和 watchOS。项目附带 Todos、Tic-Tac-Toe、Voice Memos、SyncUps 等示例应用,并提供导航、依赖管理和测试等方面的文档。
核心功能
- 01用简单的值类型描述功能状态,通过 Action 驱动状态更新。
- 02将大型功能由较小的 Reducer 组合而成,可拆分到独立模块。
- 03副作用由 Reducer 返回,便于在测试中替换。
- 04提供 TestStore,可逐步断言状态与副作用的变化。
- 05内置依赖注入机制,可分别提供正式实现与测试实现。
- 06同时支持 SwiftUI 与 UIKit,覆盖多个 Apple 平台。
适用场景
- 开发包含大量共享状态页面的 SwiftUI iOS 应用。
- 将大型 Xcode 项目拆分为边界清晰的功能模块。
- 为涉及网络请求的业务逻辑编写单元测试与集成测试。
- 将 UIKit 应用逐步迁移到单向数据流、易测试的架构。
快速上手
- 1
在 Xcode 或 Package.swift 中添加包依赖
- 2
在代码中导入该库
import ComposableArchitecture - 3
定义带有 State、Action 和 body 的 @Reducer,并在应用中创建 Store
使用前须知
- 仅支持苹果平台(iOS、macOS、iPadOS、visionOS、tvOS、watchOS)。
- 需要先学习其自有概念(状态、动作、Reducer、副作用、Store),上手才会顺畅。
标签
常见问题
- swift-composable-architecture 是什么?
- 一个用于构建 Apple 平台应用的 Swift 库,提供统一的状态管理、可组合的功能模块与便于测试的副作用处理。 The Composable Architecture(TCA)是一个用于构建 Apple 平台应用的 Swift 库,目标是让应用的状态管理方式统一、易懂且便于测试。开发者用 State 描述功能的数据,用 Action 描述所有可能发生的事件,再通过 Reducer 定义状态如何变化以及需要执行哪些副作用,最后由 Store 驱动逻辑并更新界面。这套结构可同时用于 SwiftUI 和 UIKit。
- swift-composable-architecture 可以免费使用吗?用的什么许可证?
- swift-composable-architecture 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- swift-composable-architecture 还在维护吗?
- 活跃维护中。swift-composable-architecture 最近一次提交是在 2026年10月6日。
- swift-composable-architecture 适合用来做什么?
- 开发包含大量共享状态页面的 SwiftUI iOS 应用。 将大型 Xcode 项目拆分为边界清晰的功能模块。 为涉及网络请求的业务逻辑编写单元测试与集成测试。 将 UIKit 应用逐步迁移到单向数据流、易测试的架构。
- swift-composable-architecture 怎么安装和运行?
- 在 Xcode 或 Package.swift 中添加包依赖 在代码中导入该库: import ComposableArchitecture 定义带有 State、Action 和 body 的 @Reducer,并在应用中创建 Store
- 在哪里获取 swift-composable-architecture?
- 源代码和安装说明在 GitHub 上:https://github.com/pointfreeco/swift-composable-architecture
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
一个为 Claude Code、Codex 等 AI 编程助手准备的智能体技能,帮助其写出更现代、正确的 SwiftUI 代码。
面向 iOS 应用的应用内调试工具包,提供浮动调试菜单,用于查看网络请求、性能、视图、日志和应用数据。
macOS / iOS 文档问答应用,上传文件后可提问和生成摘要,AI 处理全部在本地设备完成。
Telegram 官方 iOS 客户端源代码,附带可在 Xcode 中自行编译的构建系统。