{"repo":"Azor287/KazumiTV","free":true,"listed":false,"github":"https://github.com/Azor287/KazumiTV","clone":"git clone https://github.com/Azor287/KazumiTV.git","description":"kazumi的非官方appleTV移植版本","language":"Swift","stars":27,"topics":["anime","apple-tv","flask","kazumi","playwright","swiftui","tvos","xcodegen"],"license":"GPL-3.0","category":"mobile-apps","readme_excerpt":"KazumiTV 注意：此项目与 Kazumi 并非同一作者，为经过原作者同意开发的 Apple TV 移植版本。 KazumiTV 是 Kazumi 的独立 Apple TV/tvOS 移植版本，使用 Swift 与 SwiftUI 重新实现。 本仓库与原 Kazumi 项目独立维护，并非由 Kazumi 原作者或原维护团队开发、维护或发布。本移植版本已获得原作者同意，原项目来源与归属信息同时记录在 NOTICE 中。 项目状态 KazumiTV 目前处于活跃开发阶段。应用面向 tvOS 平台，使用 URLSession + Fuzi + JavaScriptCore 与本机隐藏网页运行时解析视频地址，并在 App 内启动只绑定 127.0.0.1 的 loopback 播放代理，为 HLS 播放列表、分片、密钥和 MP4 请求注入必要请求头。安装和播放不需要部署额外服务。 使用截图 以下截图仅用于展示 KazumiTV 在 Apple TV 真机上的界面效果，截图中的媒体画面与海报版权归原权利方所有。 推荐页 详情页 播放器 --- --- --- 架构 - tvOS 应用：Swift、SwiftUI、MVVM - 导航：基于 NavigationStack 与共享 Router - 插件解析：通过 Fuzi 进行 XPath 解析 - 视频解析：静态/轻量脚本使用原生解析，动态页面使用本机隐藏网页运行时 - 播放代理：App 内 127.0.0.1 loopback HLS/MP4 代理，负责重写播放列表与透传 Range - 本地存储：SQLite.swift 与 UserDefaults - 图片加载与缓存：Kingfisher 环境要求 - Xcode 15 或更新版本 - tvOS 17.0 或更新版本 - XcodeGen 构建 生成 Xcode 项目： 构建 Apple TV 模拟器版本： Release 与 tvOS 侧载 正式发布包与更新说明请见 GitHub Releases。版本号和构建号以 project.yml 中的 MARKETING VERSION 、 CURRENT PROJECT VERSION 为准。 已签名 IPA 在已配置 Apple Developer tvOS 团队、证书和 Provisioning Profile 的环境中生成 Release 归档： 侧载 IPA 必须使用 Apple Developer tvOS 证书和 Provisioning Profile 签名，主 App com.kazumi.tv 与 Top Shelf 扩展 com.kazumi.tv.topshelf 都需要包含在签名配置中。可以在 Xcode Organizer 中从归档选择 Distribute App 导出 Development/Ad Hoc IPA。 也可以使用命令行导出。 ExportOptions.plist 应使用自己的 Team ID、签名方式和两个 Bundle ID 对应的 Profile；不要把证书、Profile 或 Team ID 配置提交到仓库： 未签名 IPA（仅用于重签） 没有匹配的 Provisioning Profile 时，可以生成未签名归档并打包为重签输入。未签名 IPA 不能直接安装到 Apple TV： 发布到 Release 前请确认 IPA 已签名，并在目标 Apple TV 上完成对应的开发者信任或侧载工具配置。 弹幕 API 配置 KazumiTV 按原版 Ka","default_branch":null,"files":null,"tree":[],"storefront":"/r/Azor287","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/Azor287/KazumiTV/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}