OpenDisplay快速上手:3步用USB把iPhone变成Mac扩展屏(新手教程)
【免费下载链接】opendisplayFree, open-source Sidecar/Duet alternative — use your iPhone, iPad or Mac as a true second monitor for your primary Mac over USB or WiFi. Low latency H.264, Retina HiDPI, touch input.项目地址: https://gitcode.com/GitHub_Trending/op/opendisplay
还在为 Duet Display 的订阅费纠结吗?OpenDisplay是一款免费、开源的Mac 扩展屏工具,能把闲置的 iPhone 变成 Mac 的"真"第二块屏幕(不是简单镜像),支持 USB 低延迟连接、触摸输入和 Retina 高清显示。这篇新手教程带你用 USB 线,3 步即可完成 iPhone 副屏的设置,全程无需注册账号、无需额外硬件。
为什么选 OpenDisplay?🆓
市面上的副屏方案各有各的"坑",OpenDisplay 把门槛降到最低:
| 对比项 | OpenDisplay | Apple Sidecar | Duet Display | Luna Display |
|---|---|---|---|---|
| 价格 | 免费开源 | 免费 | 订阅制 | 昂贵 + 需转接头 |
| iPhone 当副屏 | ✅ | ❌(仅 iPad) | ✅ | ✅ |
| 不同 Apple ID | ✅ | ❌ | ✅ | ✅ |
| USB 有线连接 | ✅ | ✅ | ✅ | ❌ |
| 真正扩展(非镜像) | ✅ | ✅ | ✅ | ✅ |
核心优势一句话:无需账号、无需 Dongle、无需订阅,且画面直连两台设备,不经过任何服务器,隐私可控。
准备工作:3 样东西缺一不可 📋
开始前,请确认你手边有:
- 一台 Mac(macOS 14 及以上)——作为画面发送端
- 一台 iPhone(iOS 16 及以上,iPad 同样支持)——作为接收显示端
- 一根支持"数据传输"的 USB 线⚠️ 这是新手最容易翻车的点:纯充电线不行!请选用标注"数据 / 同步 / 充电与数据传输"的线缆
Mac 端需要安装OpenDisplay应用(官方已签名公证,macOS 14+ 双击即可打开);iPhone 端需要安装配套的 iOS 接收端 App(通过 TestFlight 测试版获取,或用 Xcode 自行编译)。两个 App 构成完整链路,缺一不可。
第 1 步:安装两端的 OpenDisplay 应用 💻
Mac 端:下载官方发布的OpenDisplay.dmg,打开后把应用拖入"应用程序"文件夹,双击启动。应用已附带 Developer ID 签名与公证,不会出现 Gatekeeper 拦截。
iPhone 端:加入官方的 TestFlight 公开测试即可安装接收端 App;如果你熟悉 Xcode,也可以用源码自行构建——克隆仓库后执行 generate.sh 生成工程,再用 Xcode 选择你的免费 Apple 账号签名,点 Run 约 2 分钟即可安装到手机:
git clone https://gitcode.com/GitHub_Trending/op/opendisplay cd opendisplay ./generate.sh提示:工程由 project.yml 通过 xcodegen 生成,源码中 Mac/ 目录是 Mac 发送端,iOS/ 目录是 iPhone 接收端,整体非常精简(每个平台约 4 个核心 Swift 文件)。
第 2 步:插上数据线,授予 3 个关键权限 🔌
- 用数据线连接 iPhone 与 Mac,解锁 iPhone,若弹出"信任此电脑"请选择信任
- 打开 iPhone 上的 OpenDisplay App,让它保持在前台(它会在 9000 端口监听连接)
- 在 Mac 上启动 OpenDisplay 应用——它会直接调用 macOS 内置的
usbmuxd守护进程,自动通过线缆连接,无需任何隧道工具
首次运行时,macOS 会请求两类权限,请全部允许:
| 权限 | 作用 | 不授权的后果 |
|---|---|---|
| 屏幕录制 | 捕获 Mac 画面 | iPhone 显示黑屏 |
| 辅助功能 | 注入触摸/滚动输入 | 点击手机屏幕无反应 |
授权完成后,菜单栏出现紫色的"正在录屏"小圆点是正常现象——任何使用屏幕捕获 API 的软件(包括 OBS、Zoom)都会触发,它只是 macOS 的隐私提示。
USB 连接的核心实现可以看 Mac/Usbmux.swift,虚拟屏幕的创建逻辑在 Mac/VirtualDisplay.swift。
第 3 步:排列扩展屏,开始拖窗口 🖱️
打开系统设置 → 显示器,你会看到 iPhone 已经像一台真实显示器那样出现在列表中:
- 排列:拖动两个屏幕缩略图,摆出 iPhone 相对主屏的位置(左/右/竖着放都行)
- 使用:把窗口直接拖到 iPhone 上即可。macOS 把它当作真正的扩展显示器,不是镜像
- 旋转:把 iPhone 竖过来,虚拟屏幕会自动按竖屏分辨率重建,非常适合当"侧边栏"看聊天或代码
触摸操作开箱即用👆:点按 = 鼠标点击,拖动 = 拖拽窗口,两指滑动 = 像触控板一样滚动(实现见 Mac/InputInjector.swift)。画面采用硬件 H.264 编码 + Retina 像素级匹配,文字清晰锐利。
进阶:不插线也能用(WiFi 模式)📶
装好之后其实还有第二个玩法:只要两台设备在同一个 WiFi下,iPhone App 会通过 Bonjour 自动广播自己,Mac 端连接菜单里直接选"(WiFi)"即可。
| 模式 | 延迟 | 前提 |
|---|---|---|
| USB 有线 | 最低、最稳 | 数据线支持数据传输 |
| WiFi | 略高、随网络波动 | 两端都开启"本地网络"权限 |
⚠️ WiFi 模式有个"静默失败"的坑:Mac 和 iPhone 都必须在隐私与安全性 → 本地网络中允许 OpenDisplay,否则 Mac 的连接菜单里根本找不到设备。USB 模式不受此限制,所以新手优先推荐 USB。
遇到问题怎么办?🔧
| 现象 | 原因 | 解决办法 |
|---|---|---|
| iPhone 黑屏 | 缺屏幕录制权限 | 系统设置 → 隐私 → 屏幕录制,允许后重开 App |
| 触摸没反应 | 缺辅助功能权限 | 系统设置 → 隐私 → 辅助功能,勾选后重开 App |
| WiFi 找不到设备 | 本地网络权限未开 / 不在同一 WiFi | 检查两端"本地网络"开关,保持 iPhone App 在前台 |
| 插上没反应 | 用了纯充电线 | 换一根支持数据传输的线缆 |
更多细节(协议设计、兼容设备、权限清单)都可以直接读项目内的文档:README.md、PROTOCOL.md 和 COMPATIBILITY.md。
写在最后
3 步、一根线、零花费,闲置多年的 iPhone 或 iPad 就能变成生产力副屏——这就是 OpenDisplay 开源项目的价值。如果你想深入它的低延迟 H.264 流水线或触摸注入原理,iOS/MetalVideoRenderer.swift 和 Shared/Protocol.swift 是不错的阅读起点。祝使用愉快!🎉
【免费下载链接】opendisplayFree, open-source Sidecar/Duet alternative — use your iPhone, iPad or Mac as a true second monitor for your primary Mac over USB or WiFi. Low latency H.264, Retina HiDPI, touch input.项目地址: https://gitcode.com/GitHub_Trending/op/opendisplay
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考