iOS Action Extension 弹窗查词 — 在任何 App 里直接呼出 MDict
iOS 取词的特殊性
iOS 系统的沙盒机制比 Android 严格得多——不允许 App 创建全局悬浮窗、不允许 App 后台监控剪贴板、不允许 App 在其他 App 界面上直接弹窗口。iOS 上词典类 App 能用到的取词方式只有两种:
- Action Extension(操作扩展):选中文字 → 系统分享菜单里选 MDict → MDict 弹出一个半屏结果页;
- 三指轻触定义(系统级):选中文字 → 三指轻触 → 系统显示内置词典定义(可以在 iOS 设置里指定 MDict 为默认词典)。
MDict iOS 版使用的是第一种方式——Action Extension。
开启步骤
- 确保 MDict 已经从 App Store 正确安装;
- 打开任何支持文字选择的 App(Safari、邮件、备忘录、消息等);
- 长按选中一个或多个单词 → 系统弹出"剪切/复制/粘贴/分享"等操作菜单;
- 点击"分享"按钮(一个方框 + 向上箭头图标)→ 在弹出的分享面板里向右滑动,找到"更多"或"……"按钮;
- 在"更多"页面里找到 MDict(或 "在 MDict 中查找")的开关,打开它。
注意:iOS 的分享面板里默认只显示少数几个常用 App,MDict 不会自动出现在前几项里,必须手动到"更多"里添加一次。添加后以后再选文字分享就能直接看到 MDict 选项。
使用体验
添加好 Action Extension 后:
- 在任意 App 中长按选中一个词(可以选多个连续的词);
- 点"分享"按钮,找到 MDict 图标;
- 点击后屏幕下方弹出 MDict 半屏窗口,自动显示选中文字在所有词典里的查询结果。
这个窗口支持向上滑动展开全屏、支持在词条里继续点击取词(见 词条内跳查)、支持分享结果回其他 App。查完直接点空白处或 MDict 图标回到原 App,不用切换前后台。
替代方案:三指轻触定义
iOS 自带的"定义"功能可能更高效——不需要调分享面板,选中文字后三指快速轻触三次屏幕(或点"查找"按钮),系统就会显示内置词典的定义弹窗。
在 iOS 设置里可以指定 MDict 作为默认词典:
设置 → 通用 → 词典 → 勾选 MDict
但这个方式有个限制:iOS 系统级定义功能只查系统内置的几台词典,不查 MDict 里用户自己装的 mdx 词典。MDict 作为默认词典主要用于系统层面的翻译/定义弹窗,不加载你自制或下载的 mdx 内容。如果你想查自己的 mdx 词典,还是得走 Action Extension。
限制与注意
- Action Extension 只能查 MDict 里已经加载的词典,如果之前没在 MDict 主 App 里打开过这本词典、Extension 里也没有缓存,可能会出现结果为空的情况;
- iOS 系统对 Extension 的内存使用有硬性限制(约 50MB),如果一次选了太多文字(超过几 KB),MDict Extension 可能被系统杀掉、结果显示不出来;
- iOS App Store 版 MDict 长期不更新,部分 iOS 16/17 用户反映 Extension 弹出速度比原版慢,这是 App Store 版本老化的问题;
- Edge TTS 代理在 iOS Extension 里完全无法使用——iOS 沙盒不允许 Extension 发出 HTTP 代理请求,只能用系统 AVSpeech TTS。
替代:DictTango for iOS
如果你觉得原版 MDict iOS 的 Extension 速度慢或功能缺失,可以试试 App Store 里的 DictTango for iOS。它同样读 mdx/mdd 格式,但 Extension 实现了更快的加载速度、支持分栏/网格/列表三种布局模式、支持 30+ 键盘快捷键、支持多窗口并行查询。原版 MDict iOS 长期停更,DictTango 是目前 iOS 上 mdx 生态的更优选择。