TVBox-Swift 是用 Swift 与 SwiftUI 原生重写的跨平台影音客户端工程,一套代码同时支持 macOS 与 iOS,支持 CMS JSON/XML 数据源。
- 260302
- 发布于
- 2026年3月2日
- 215
- 星标
- 1,742
- 下载
- 同步于
- 1 天前
作者已不再通过 GitHub Release 发版,但仓库仍在更新(最近提交 13 天前)。最新版本请到官网获取:
最新版本
2603022026年3月2日 12:59下载慢?可在上方随时切换镜像源
项目说明
项目概述
TVBox-Swift 相当于安卓 TVBox 生态在苹果平台上的原生重写:基于 Swift 5.9 与 SwiftUI,一套代码覆盖 macOS 14.0+ 与 iOS 17.0+,提供点播、直播、历史记录与收藏管理。数据持久化使用 SwiftData,配置解析兼容主流 CMS JSON/XML 接口(type 0 / 1 / 4),不依赖任何动态脚本引擎。
| 项目 | 内容 |
|---|---|
| 平台 | macOS 14.0+ / iOS 17.0+ |
| 语言与框架 | Swift 5.9、SwiftUI、SwiftData |
| 数据源 | CMS type=0 / 1 / 4(XML / JSON / 远程) |
| 播放内核 | AVPlayer + VLCKit 双引擎 |
| 工程管理 | XcodeGen 2.35+ |
| 许可 | MIT |
原生 SwiftUI 的玻璃拟态影音壳,资源接口自己带。
主要功能
- 点播中心:接入 CMS JSON/XML 数据源,智能检索、卡片化呈现与多级详情页
- 直播支持:基础直播分组与线路切换,EPG 为简化实现
- 内容枢纽:全局搜索、历史记录流、一键收藏管理
- 毛玻璃视觉:Glassmorphism 设计体系,重构动画与暗黑模式全支持
- 双播放引擎:系统 AVPlayer 与 VLCKit(iOS/macOS)可切换
- 容错解析:对非标准 JSON/XML 接口做容错处理与数据清洗
与安卓版的差异
本工程未集成 Java/Rhino 引擎,不支持依赖动态脚本的 type=3(Spider/Jar)源;加密配置解密、clan:// 协议、嗅探解析链与完整字幕体系尚未接入。点播、直播与收藏等核心链路可用,细节能力与安卓参考版存在十项已知差异,仓库 README 附有逐项对照表。
快速上手
- 准备 macOS 最新版与 Xcode 15.0+,用 Homebrew 安装 XcodeGen:
brew install xcodegen - 在仓库根目录执行
xcodegen generate生成tvbox.xcodeproj - 选择 scheme:
tvbox对应 iOS、tvbox-macOS对应 macOS,Command + R编译运行 - 打包分发:运行
./package_mac.sh生成免安装的TVBox-macOS.dmg;iOS 侧运行./package_ios.sh产出.xcarchive
系统要求
| 项目 | 要求 |
|---|---|
| 开发系统 | macOS 最新版本 |
| IDE | Xcode 15.0+ |
| 目标系统 | macOS 14.0+ / iOS 17.0+ |
| 工具链 | XcodeGen 2.35+、Swift 5.9 |
注意事项
- 不含资源:项目不提供、不内置、不分发任何影视资源或接口配置,仅作为本地多媒体客户端框架用于技术交流
- 源类型限制:仅支持 type=0/1/4 数据源,依赖动态脚本的源不可用
- 工程需生成:仓库不直接附带 Xcode 工程文件,必须先用 XcodeGen 生成
历史版本
排序