如何在turbo-ios原生应用中为模拟器挂载Safari调试器
Turbo-iOS 模拟器启用 Safari 调试器的正确代码位置
问题背景
想要在turbo-ios原生应用的模拟器上挂载Safari调试器,参考示例代码后尝试在SceneDelegate的WKWebViewConfiguration中设置isInspectable,但触发报错:
Value of type 'WKWebViewConfiguration' has no member 'isInspectable'
解决方案
isInspectable是WKWebView实例的专属属性,并非WKWebViewConfiguration的成员,因此不能在配置对象中设置。在turbo-ios框架下,正确的做法是自定义WKWebView实例并启用调试,再传入Session初始化:
修改SceneDelegate中的session初始化代码,替换原有的Session(webViewConfiguration:)方式:
private lazy var session: Session = { // 基于自定义配置创建WKWebView实例 let webView = WKWebView(frame: .zero, configuration: webViewConfiguration) // 仅对iOS 16.4及以上版本启用调试 if #available(iOS 16.4, *) { webView.isInspectable = true } // 使用自定义webView初始化Turbo Session let session = Session(webView: webView) session.delegate = self return session }()
额外注意事项
- 确保模拟器运行的系统版本为iOS 16.4或更高
- 开启Mac端Safari的开发者模式:打开Safari偏好设置 → 高级 → 勾选「显示开发菜单」,之后在「开发」菜单中即可找到对应模拟器的WebView进行调试
内容的提问来源于stack exchange,提问作者Obromios
相关产品推荐
相关产品推荐

