📜 部署实施方案

Joyflix Mac 客户端

基于 Objective-C · Xcode 12+ · Apache-2.0 开源协议

版本 V1.0
日期 2025-07-23
平台 macOS 11+
许可 Apache-2.0
项目概述 Project Overview
📖 项目背景

Joyflix Mac 端是一个基于 Objective-C + Xcode 12+ 原生开发的 macOS 影视聚合客户端,内置各大精品影视站与 CCTV 电视直播频道,提供广告屏蔽、优选站点、自定义站点、观影记录等能力。

🎯 部署目标

在目标 Mac 设备上完成 Joyflix.app 的安全安装与启动,完成内置影视源选择、优选网站、用户站点等基础配置,在不削弱系统整体安全性的前提下完成 Gatekeeper 放行。

部署范围

组件部署方式说明
Joyflix Mac 客户端本地安装 (.app)本方案核心
自建 Joyflix 服务端Docker / Vercel / Netlify可选,不属于 Mac 客户端部署范畴
环境要求 Environment Requirements
项目最低要求推荐配置
macOS 版本macOS 11 Big SurmacOS 14 Sonoma 及以上
芯片架构Intel x86_64Apple Silicon (M1/M2/M3) 原生
Xcode仅源码构建时需要 12+最新稳定版
磁盘空间200 MB 可用空间1 GB 以上(含缓存)
网络可访问影视源站点稳定宽带连接
权限管理员账号同左
部署前准备 Pre-Deployment Checklist

3.1 获取安装包

从官方仓库克隆或下载发布包:

# 方式一:克隆仓库自行构建 git clone https://github.com/jeffernn/Joyflix-Mac-Objective-C.git cd Joyflix-Mac-Objective-C open Joyflix.xcodeproj # 在 Xcode 中选择 Product → Archive 生成 .app # 方式二:下载 GitHub Actions 构建产物 # 前往仓库 Actions 页面下载最新成功构建的 Artifact

3.2 完整性校验

安装前务必验证来源真实性:

xattr -l ~/Downloads/Joyflix.app # 预期看到 com.apple.quarantine 属性,属正常现象

3.3 备份与回滚预案

  • 记录当前 macOS 安全策略状态:spctl --status
  • 准备卸载脚本或手动清理路径清单(见第玖节)
  • 确认具备管理员权限(sudo 密码)
安装与 Gatekeeper 放行 Installation & Gatekeeper Bypass
💡
安全提示 Joyflix 未上架 App Store 且未经过 Apple 公证,macOS Gatekeeper 会拦截启动。推荐按以下 优先级 逐级处理,优先使用最精细化的放行方式。

方法一:控制键点按放行(最安全,推荐首选)

1
在访达中找到 Joyflix.app(通常在"下载"或"应用程序"文件夹)
2
按住 Control 键并点按应用图标(或右键点击)
3
从快捷菜单中选择 "打开"
4
在弹出的警告对话框中再次点击 "打开",该应用将被记为安全性例外

方法二:系统设置中"仍要打开"

适用于 macOS Sequoia (15) 及以上版本:

1
双击 Joyflix.app,出现拦截警告后点击 "完成"(不要点"移到废纸篓")
2
打开 "系统设置" → "隐私与安全性"
3
向下滚动到"安全性"区域,找到"已阻止使用,因为…"提示,点击 "仍要打开"
4
输入管理员密码确认,再次点击 "打开"
⚠️
"仍要打开"按钮时效 "仍要打开"按钮仅在首次尝试打开应用后的 1 小时内可见;若找不到该按钮,重新双击一次应用即可刷新计时。

方法三:移除隔离标志(精细化放行)

仅针对该应用移除隔离属性,不关闭全局 Gatekeeper

xattr -r -d com.apple.quarantine /Applications/Joyflix.app

方法四:全局禁用 Gatekeeper(最后手段,不推荐)

# 禁用 Gatekeeper(临时) sudo spctl --master-disable # ……完成 Joyflix 启动后,立即重新启用 sudo spctl --master-enable
🚨
风险提示 长期禁用 Gatekeeper 会显著削弱 Mac 的恶意软件防护能力,仅在完全确认应用来源可信时临时使用,完成后务必立即重新启用。
首次启动配置 First Launch Configuration

5.1 选择内置影视源

首次启动会弹出窗口要求选择内置影视源,按以下原则选择:

  • 优先选择延迟低、连通性好的站点
  • 可后期通过"优选网站"功能动态调整

5.2 优选网站配置

为应对影视源加载慢或不稳定的问题:

点击菜单栏 "拓展功能" 选项卡
点击 "优选网站"
勾选 "自动优选" 选项,下次启动时将自动打开最优影视站

5.3 用户站点添加

点击菜单栏 "用户站点" 选项卡
点击 "添加站点",填写站点名称与 URL
添加后鼠标悬停可展开二级菜单进行 编辑或删除

5.4 缓存与观影记录

🧹 清除缓存

菜单栏"拓展功能" → "清除缓存",可删除应用本地所有缓存内容。

📺 观影记录

菜单栏"拓展功能" → "观影记录",查看历史浏览记录。

验证与测试 Verification & Testing
测试项操作步骤预期结果状态
应用启动双击 Joyflix.app正常启动,无 Gatekeeper 拦截待验证
影视源加载选择内置影视源并播放视频可正常加载与播放待验证
优选网站开启自动优选后重启自动选中可用最佳站点待验证
用户站点添加自定义站点 URL站点出现在列表中,可播放待验证
缓存清除执行清除缓存操作本地缓存被清空,应用正常运行待验证
观影记录播放视频后查看记录历史浏览记录正确显示待验证
常见问题与处置 FAQ & Troubleshooting
提示"需要安装 FlashPlayer 才能播放"

部分影片依赖 Flash Player,需提前安装 Flash Player 并允许运行。

提示"文件已损坏,打不开"

按方法三(移除隔离标志)或方法二("仍要打开"流程)处理。

xattr -r -d com.apple.quarantine /Applications/Joyflix.app
Apple Silicon 启动闪退

若应用仅编译了 x86_64 版本,需安装 Rosetta 2:

softwareupdate --install-rosetta --agree-to-license
"仍要打开"按钮不出现

距离上次尝试已超过 1 小时,重新双击一次应用即可刷新按钮计时。

安全与合规声明 Security & Compliance
🔒 技术合规
  • 仅部署 Apache-2.0 协议的开源 Joyflix Mac 客户端
  • 安装包来源须为官方 GitHub 仓库
  • 禁止从第三方镜像或破解站点获取
  • 运行未签名软件需自行评估来源可信度
⚖️ 使用合规
  • Joyflix 仅作为影视聚合工具
  • 不存储、上传或分发任何视频内容
  • 所有视频均来自第三方影视站
  • 仅供学习和个人使用,禁止商业用途
明确排除项 本部署方案 不包含 Emby 高级订阅会员破解脚本的配置与启用,不包含任何绕开软件授权校验、会员限制的机制,不包含其他侵犯知识产权或违反软件许可协议的行为。
回滚与卸载 Rollback & Uninstallation

9.1 应用卸载

# 退出 Joyflix osascript -e 'quit app "Joyflix"' # 删除应用本体 rm -rf /Applications/Joyflix.app # 清理用户数据 rm -rf ~/Library/Application\ Support/Joyflix rm -rf ~/Library/Caches/Joyflix

9.2 恢复安全策略

# 重新启用 Gatekeeper sudo spctl --master-enable spctl --status # 确认状态为 "assessments enabled"

9.3 回滚到历史版本

  1. 前往官方仓库的 Releases 或 Actions 页面
  2. 下载上一稳定版本的构建产物
  3. 按第肆节流程重新安装放行
命令速查 Command Reference
查看隔离属性
xattr -l /Applications/Joyflix.app
移除隔离标志
xattr -r -d com.apple.quarantine ...
禁用 Gatekeeper
sudo spctl --master-disable
启用 Gatekeeper
sudo spctl --master-enable
查看 Gatekeeper 状态
spctl --status
安装 Rosetta 2
softwareupdate --install-rosetta
退出应用
osascript -e 'quit app "Joyflix"'
删除应用
rm -rf /Applications/Joyflix.app
维护信息 Maintenance Info
项目信息
部署负责人[请填写]
部署日期[请填写]
安装版本[请填写,如 commit xxxxxxx]
macOS 版本[请填写]
芯片架构[Apple Silicon / Intel]
官方仓库https://github.com/jeffernn/Joyflix-Mac-Objective-C
项目许可证Apache-2.0
部署
方案