Jstrom2022

tvbox-Swift

TVBox-Swift is a cross-platform media client rebuilt natively in Swift and SwiftUI, one codebase for macOS and iOS, supporting CMS JSON/XML source retrieval and playback.

260302
Published at
Mar 2, 2026
215
Stars
1,742
Download
Synced at
1d ago

The author no longer ships through GitHub Releases, but the repository is still active (last push 13d ago). Get the latest version from:

Latest release

260302Mar 2, 2026, 04:59 AM
Downloads slow? Switch the source anytime above

README

Project Overview

TVBox-Swift is essentially the Android TVBox ecosystem rewritten natively for Apple platforms: built on Swift 5.9 and SwiftUI, one codebase covers macOS 14.0+ and iOS 17.0+, with VOD, live TV, history and favorites. Persistence uses SwiftData, and the config parser works with mainstream CMS JSON/XML interfaces (type 0 / 1 / 4) without any dynamic script engine.

Item Value
Platform macOS 14.0+ / iOS 17.0+
Language & framework Swift 5.9, SwiftUI, SwiftData
Sources CMS type=0 / 1 / 4 (XML / JSON / remote)
Playback AVPlayer + VLCKit dual engine
Project tooling XcodeGen 2.35+
License MIT

A native SwiftUI glassmorphism media shell; bring your own source configs.

Key Features

  • VOD Center: plugs into CMS JSON/XML sources with smart search, card-style presentation and multi-level detail pages
  • Live support: basic live channel groups and line switching, with a simplified EPG
  • Content hub: global search, a smart history stream and one-tap favorites management
  • Glassmorphism UI: a modern frosted-glass design system with fluid animations and full dark mode
  • Dual playback engines: system AVPlayer and VLCKit (iOS/macOS) are switchable
  • Fault-tolerant parsing: non-standard JSON/XML interfaces get tolerance handling and data cleaning

Differences from the Android version

This project does not bundle a Java/Rhino engine, so type=3 (Spider/Jar) sources that rely on dynamic scripts are unsupported; encrypted config decryption, the clan:// protocol, the sniffing resolution chain and the full subtitle system are not yet wired in. VOD, live and favorites core flows work, with ten known capability gaps versus the Android reference — the README includes an itemized comparison table.

Quick Start

  1. Prepare the latest macOS and Xcode 15.0+, then install XcodeGen via Homebrew: brew install xcodegen
  2. Run xcodegen generate in the repo root to produce tvbox.xcodeproj
  3. Pick a scheme — tvbox for iOS, tvbox-macOS for macOS — and hit Command + R
  4. For distribution: ./package_mac.sh produces an install-free TVBox-macOS.dmg; on the iOS side ./package_ios.sh produces an .xcarchive

System Requirements

Item Requirement
Build OS Latest macOS
IDE Xcode 15.0+
Target OS macOS 14.0+ / iOS 17.0+
Toolchain XcodeGen 2.35+, Swift 5.9

Notes

  • No content included: the project provides, embeds and distributes no media resources or source configs; it is a local media client framework for technical exchange
  • Source type limit: only type=0/1/4 sources work; dynamic-script sources are unavailable
  • Project must be generated: no Xcode project file ships in the repo; generate it with XcodeGen first

Release history

Sort