/System/Library/PrivateFrameworks/MediaRemote.framework
Response: playbackQueue<D42CE038-BF50-420F-8CF6-C48AA27EF723 now-playing-44118 /M/L/AF/A600.000000x600.000000/R[0:1]> returned with error <Error Domain=kMRMediaRemoteFrameworkErrorDomain Code=3 "Operation not permitted" UserInfo={NSLocalizedDescription=Operation not permitted}> in 0.0771 seconds
macOS 15.4 发布说明分析
通过搜索 macOS 15.4 发布说明( macOS Sequoia 15.4 Release Notes | Apple Developer Documentation ),未找到直接提及新媒体框架或 API 的内容。用户支持页面( What's new in the updates for macOS Sequoia - Apple Support )列出了一些媒体相关功能(如 Podcasts 小部件),但未涉及开发者 API 。
在 2025 年 4 月 2 日的背景下,macOS 15.4 (即 macOS Sequoia 15.4 )移除 /System/Library/PrivateFrameworks/MediaRemote.framework 引发了开发者对获取当前播放媒体信息替代方案的关注。以下是详细调查结果,涵盖了探索过程和可能的解决方案。
背景与问题分析
MediaRemote.framework 是一个私有框架,过去用于与媒体服务器( mediaserverd )通信,允许查询当前播放信息、控制播放/暂停等功能(如 Dev:MediaRemote.framework - The Apple Wiki 所述)。其移除意味着开发者需要寻找新的方法,尤其是在 macOS 15.4 发布后( macOS Sequoia 15.4 Release Notes | Apple Developer Documentation )。调查发现,官方发布说明未明确提及替代方案,可能因其私有性质不予公开。
1
a66243766 OP |
2
a66243766 OP |
![]() |
3
mietl 10 天前
😭
|
![]() |
4
icyalala 10 天前 via iPhone
都 PrivateFrameworks 了你还能指望依赖这个?就算正常用 Public API 大版本升级也经常崩给你看
|
![]() |
5
ST0RMTR00PER 10 天前
我怀疑我的这个问题是不是因为这个原因: https://www.v2ex.com/t/1122695
|
6
a66243766 OP @ST0RMTR00PER 应该不是的,你这个框架在之前的版本就已经存在了,https://github.com/alexey-lysiuk/macos-sdk/tree/main/MacOSX14.5.sdk/System/Library/PrivateFrameworks/ChronoCore.framework/Versions/A ,感觉是交互类相关的框架
|
![]() |
8
ST0RMTR00PER 10 天前
@a66243766 因为我看这个 chronod 有调用到 Widget 之类的 API ,我使用的 Airbuddy 3 的 Widget 有用到 Now Playing 的 API ,然后一启用就会占满 CPU 。
这是 ChatGPT 告诉我的: 初步结论: · chronod 正陷入异常的同步调用链和资源竞争,表现为: · 多线程死循环轮询(_dispatch_kq_poll ) · 闭包嵌套调用( Swift Dispatch 和 CoreFoundation 层) · 与 ReplicatorServices 模块高频互动,疑似为数据同步任务 · 所有 CPU 占用均来源于活跃阻塞线程,而非单一任务耗时 查了两天,还是没解决我的问题。 |
![]() |
9
icyalala 10 天前
@a66243766 我 Github 搜了一下用的人还真不少。。。
https://github.com/aviwad/LyricFever/issues/94#issuecomment-2746155419 苹果这是明确用 entitlements 来限制权限了 |
10
GPLer 10 天前 via Android
已经升完了,话说对用户来说,如果不使用这个特性,是不是升级上去更好,允许查询控制媒体播放这个接口看上去就很危险。
|
11
0619 10 天前
@ST0RMTR00PER 请问 Airbuddy 3 在哪里下载
|
![]() |
12
ST0RMTR00PER 10 天前
https://v2.airbuddy.app/join-beta 填入邮箱就会收到 Beta 测试,但是需要 2 的激活码,不建议用 3 ,我用了后发现有问题。
|
13
xuegy 10 天前
这不就是像之前的剪贴板一样堵住了隐私漏洞吗?开发者急了,说明...
|
14
JohnSwit 10 天前
我说怎么我显示当前播放信息,控制播放/暂停的功能为啥失效了,原来是这个问题
|
15
PhDLuffy 9 天前
控制用户播放器干嘛?
|