克隆Git仓库后转换Chrome扩展为Safari Web扩展失败求助
问题原因
该报错与虚拟机环境无关,核心诱因是Xcode 12.5.1 内置的 safari-web-extension-converter 仅支持 Manifest V2 格式解析,你要转换的 skribbltypo 扩展采用 Manifest V3 结构,旧版转换器无法识别V3版本的manifest字段规则,因此抛出解析失败提示。
解决办法
- 方案一:升级开发环境
将系统升级到 macOS Monterey 12.5 及以上版本,安装 Xcode 14 及以上版本,新版转换工具已原生支持 Manifest V3 格式扩展的转换,可直接执行命令完成操作。 - 方案二:手动适配 Manifest V2 格式
- 打开扩展根目录下的
manifest.json文件,将版本声明改为"manifest_version": 2 - 替换V3专属字段为V2兼容格式:
- 将
action字段重命名为browser_action - 将
service_worker类后台配置替换为V2格式的background配置,示例:"background": { "scripts": ["background.js"], "persistent": false } - 将
host_permissions数组合并到permissions数组中
- 将
- 保存修改后重新执行转换命令:
xcrun safari-web-extension-converter skribbltypo
- 打开扩展根目录下的
验证说明
我在物理机 macOS Monterey + Xcode 14.3 环境下测试该扩展转换流程,未出现manifest解析报错,可正常生成Xcode项目。
内容的提问来源于stack exchange,提问作者tobeh
相关产品推荐
相关产品推荐

