Big Sur系统下Google Drive对应QuickLook插件UTI无法正常生效
第一步:校验Launch Services UTI优先级
Big Sur 中 Google Drive 官方桌面端会注册更高优先级的.gdoc格式 UTI 映射,你通过mdls查询到的静态 UTI 不代表系统运行时实际调用的优先级。执行以下命令查看当前 UTI 的注册信息:/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -dump | grep -A10 -B2 "be.gdoc.quicklook"如果查询结果显示 Google Drive 官方客户端也注册了该 UTI,你可以在生成器的
Info.plist中为QLSupportedContentTypes对应条目添加priority字段,设置数值为90(系统默认优先级为50,数值越高优先级越高)。第二步:补全Info.plist的UTI声明
Mojave 没有强制要求自定义 QL 生成器声明关联 UTI 的完整信息,但 Big Sur 要求必须在Info.plist的UTImportedTypeDeclarations字段下完整声明你用到的be.gdoc.quicklook标识符,明确对应扩展名、类型描述等信息,不能仅在QLSupportedContentTypes中填写 UTI 标识符。第三步:清除插件隔离位并重置QL缓存
执行以下命令清除插件的隔离属性,重置 QuickLook 缓存后重启 Finder 再测试:xattr -d com.apple.quarantine ~/Library/QuickLook/GoogleDriveGenerator.qlgenerator qlmanage -r cache qlmanage -r killall Finder第四步:校验Google Drive挂载目录权限
Big Sur 中 Google Drive 挂载目录受 Files Provider 扩展保护,第三方插件默认没有访问权限。你可以将测试用的.gdoc文件复制到本地~/Downloads目录下再测试直接预览:- 如果本地文件可以正常调用你的生成器,说明是挂载目录权限问题,需要在生成器的 Sandbox 配置中添加
com.apple.security.files.user-selected.read-only权限,或者在「系统偏好设置-安全性与隐私-隐私-完全磁盘访问」中给 Finder 与你的 QL 生成器授予权限。 - 如果本地文件仍然无法调用,重新检查生成器的签名状态,确认使用有效的开发者ID对插件进行过签名,未签名插件在 Big Sur 中会被随机拦截。
- 如果本地文件可以正常调用你的生成器,说明是挂载目录权限问题,需要在生成器的 Sandbox 配置中添加
内容的提问来源于stack exchange,提问作者user924387

