Mac Catalyst应用Sonoma系统下WKWebView文本选择失效求助
macOS 14 Sonoma下Mac Catalyst应用ZSSRichTextEditor文本选择失效问题
问题概况
- 运行环境:macOS 14 Sonoma系统的Mac Catalyst应用
- 核心组件:基于nnhubbard/ZSSRichTextEditor的可编辑WKWebView
- 症状:文本选择(手势、快捷键操作)完全无效,导致编辑器工具无法激活
- 兼容性:仅在Sonoma出现,iOS及macOS 11/12/13(Catalina、Monterey、Ventura)运行正常
- 构建版本:Xcode 15.0或15.0.1
错误日志
0x1359ecc18 - [pageProxyID=14, webPageID=15, PID=14,932] WebPageProxy::didFailProvisionalLoadForFrame: frameID=1, isMainFrame=1, domain=NSURLErrorDomain, code=18,446,744,073,709,550,614, isMainFrame=1, willInternallyHandleFailure=0
解决方案
- 调整WKWebView配置:将
allowsLinkPreview设为false,Sonoma中该属性会干扰文本选择逻辑 - 优化编辑器初始化:加载编辑器HTML前,显式设置WKWebView的
isEditable为true,并延迟50ms执行初始化脚本,避免与系统加载流程冲突 - 修复Xcode 15兼容性:在项目Build Settings中,强制开启
WKWebViewConfiguration.preferences.javaScriptEnabled,调试时禁用isInspectable属性 - 修改编辑器核心脚本:针对Sonoma的WKWebView行为,替换文本选择监听函数,避免与系统手势事件冲突
- 临时规避方案:为WKWebView添加自定义UIGestureRecognizer,手动捕获选择手势并触发编辑器的文本选择回调
内容的提问来源于stack exchange,提问作者Lewis Edward Garrett
相关产品推荐
相关产品推荐

