Roylyl / MacPlay
git clone https://github.com/Roylyl/MacPlay.git
V1.2.3 · 7d ago
让Mac通过USB或共用Wi-Fi接收iPhone CarPlay画面的原生macOS应用,支持分辨率与高帧率配置。
+0
stars, 24h · #32,542
+~0
stars, 7 days · #33,017
+230
stars, 30 days · #2,300
235
★ total
19
forks · 0 open issues
Star history (as recorded here)
LanguageRust
LicenseGPL-3.0
Created2026-09-29 (23d ago)
Last push5d ago
Watchers0
OwnerUser
Links
- GitHub: github.com/Roylyl/MacPlay
- Releases · Issues · Hacker News mentions
README excerpt
MacPlay 在Mac上显示和操作iPhone的CarPlay界面,支持USB直连与局域网无线连接。 快速入门 · 主要功能 · 其他平台 · 源码构建 · 来源与许可 其他平台: Windows · Linux · Android ## 快速入门 ### 使用条件 - macOS14及以上,Apple Silicon或Intel处理器。 - 支持CarPlay的iPhone;有线需要USB数据线,无线需要蓝牙与允许设备互访的局域网,iPhone使用Wi-Fi接入。 - 安装包包含所需运行组件,无需另装开发工具。 ### 安装 前往GitHubReleases,根据“苹果菜单→关于本机”中的芯片信息选择安装包: | Mac类型 | 安装包 | | --- | --- | | AppleM系列 | 名称以`arm64.dmg`结尾 | | Intel | 名称以`x86_64.dmg`结尾 | 打开DMG,将MacPlay拖入“应用程序”后启动。若macOS拦截,在“系统设置→隐私与安全性”中允许打开。当前包采用本地签名,未经过Apple公证。 首次启动自动准备内置认证文件,默认1280×720、60fps,并优先使用内建显示器。更新前退出旧版,再替换应用,原有设置会保留。详细步骤见发行版使用教程。 ### 有线CarPlay 1. 用USB数据线连接iPhone与Mac,解锁iPhone并完成“信任此电脑”。 2. 在“连接”页选择“有线CarPlay”,多台设备同时接入时选择目标iPhone。 3. 点击“启动接收”,在iPhone上确认CarPlay提示。 有线无需填写Wi-Fi信息。可在“连接→应用”开启“USB接入时自动启动CarPlay”,让MacPlay运行期间自动响应iPhone接入;已指定设备时只响应该设备。 ### 无线CarPlay 1. Mac和iPhone接入同一个允许设备互访的局域网,选择“无线CarPlay”。Mac可连接Wi-Fi,也可通过以太网接入同一路由器。 2. Mac使用Wi-Fi时,点击“读取当前网络”并填写密码,也可点击“读取已保存密码”。Mac使用以太网时,手动填写iPhone所在Wi-Fi的SSID、共享密码和实际信道。 3. 打开蓝牙设置,在iPhone上选择Mac的系统名称,在两端确认配对码。 4. 在MacPlay选择目标iPhone,点击“启动接收”,在iPhone上允许CarPlay连接。 MacPlay通过蓝牙建立连接,再通过局域网传输音视频,不创建热点。读取Wi-Fi名称需要定位权限,读取密码可能要求钥匙串授权。企业802.1X和网页登录认证不适用于此连接方式,请使用个人Wi-Fi或USB连接。 ## 主要功能 - 独立CarPlay窗口,支持鼠标点击、拖动和触控板双指滚动。 - 选择内建或外接显示器,按比例调整窗口,也可使用固定物理像素或全屏模式。 - 实时调整媒体/通话音量、切换音频设备;向Mac控制中心同步歌曲、封面、播放状态和进度。 - 记住上次连接的iPhone,支持USB接入自动启动,以及可选的无线断线自动重连。 - 视频停滞或中断时尝试恢复,提供实际帧率、视频尺寸和音频格式。 - 提供简体中文、繁體中文、English和跟随Mac系统语言;支持菜单栏后台运行。 - 在“关于”页检查更新、导出TXT日志或JSON诊断快照。 ## 无线设置 网络接口默认自动选择,多网卡环境可改为“手动选择网卡(高级)”。手动选择会保留,接口断开时不会擅自换到其他网卡。所选接口需要可用IPv4或链路本地IPv6地址,路由器须允许Mac与iPhone互访。 启动连接前会刷新同一Wi-Fi的信道和BSSID,适应Mesh接入点变化。Mac走以太网或需要指定接入点时,可在“共用Wi-Fi→高级网络设置”填写BSSID,通常留空即可。切换SSID后需重新填写或读取密码;读取失败原因显示在按钮下方,同一网络已有的密码会保留。 “无线连接被动断开时自动重连”默认关闭。开启后,仅对已成功连接后意外断开的iPhone自动回连,间隔依次为5、10、20、30、60秒,之后保持60秒。主动停止、确认断开、退出或关闭开关都会取消重连;首次连接失败不会自动重试。 ## 显示与声音 “显示”页提供1280×720、1920×1080、2560×1440、自定义宽高和屏幕原生像素模式。默认窗口适配所选屏幕,可等比例调整大小,不改变向iPhone请求的分辨率。更改显示设置后点击“应用并重新连接”。 “严格按屏幕物理像素显示”默认关闭;开启后窗口大小固定,仍可移动。原生像素模式全屏并避开刘海。这两种模式需要等待显示器参数读取完成;读取失败时可刷新,或先使用普通窗口模式。 帧率可选30/60/90/120fps,默认60fps。120fps启动失败后依次尝试90fps和60fps,90fps失败后尝试60fps,只影响本次连接。实际输出取决于iPhone、网络和解码能力,可在“显示→流畅度→接收统计”查看。静态画面下帧率可能降低,解码帧率也不等于屏幕刷新率。 CarPlay的“设置→显示屏→智能缩放显示”会影响图标、文字和渲染尺寸。希望按所选像素显示时,可在CarPlay内关闭,再应用并重新连接。MacPlay不提供缩放倍率。 “音频”页可实时调整媒体/通话音量、切换输入/输出设备,查看音频格式。设备拔出后回退系统默认设备,无需重新连接CarPlay。Mac控制中心显示歌曲、封面和进度;播放器提供时长并允许跳转时,可拖动系统进度条。本版不提供独立歌词同步。 ## 窗口与后台 收到画面后自动打开CarPlay窗口,鼠标移到画面顶部可显示悬浮标题栏。关闭画面时先确认断开,断开后回到连接主页。主窗口与CarPlay共用MacPlay的Dock入口;点击CarPlay中的MacPlay图标可打开主窗口。 在“连接→应用→关闭主窗口时”选择“每次询问”“保持后台运行”或“退出MacPlay”。新安装默认询问,更新安装保留原行为。后台运行时可从菜单栏图标打开窗口、启动/停止接收或退出;后台运行不等于开机启动。 “连接→应用”也可切换简体中文、繁體中文、English或跟随Mac系统语言,CarPlay内部语言仍跟随iPhone。 ## 关于、更新与日志 在“关于”页查看版本和运行架构,检查GitHub正式发行版。自动检查默认开启,启动时检查,持续运行时每两小时静默检查。MacPlay按芯片选择安装包,通过Rosetta运行时也优先提供M系列版。更新经浏览器下载,退出旧版再替换应用,不自动安装。 在“关于→日志”导出TXT日志或JSON诊断快照。JSON附带版本、连接状态和媒体统计,方便反馈问题。导出会过滤密码、密钥、IP地址和常见设备标识,不包含设置文件或认证材料;发送前请查看内容。 ## 认证与数据 1.2.3内置实验性认证材料,首次启动不覆盖本机已有身份。也可在“关于→认证文件→导入认证文件”选择匹配且获准使用的`identity.pk8`与`certificate.p7b`;普通Apple开发者签名证书不能替代配件认证。材料来源见认证来源。公开下载不等于取得再