You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

开发SwiftUI WebView应用时报错:Cannot find 'SwiftUIWebView' in scope

报错「Cannot find 'SwiftUIWebView' in scope」解决方案
  • 报错根因:SwiftUI 官方没有内置名为SwiftUIWebView的组件,你需要自行封装该组件才能调用。

具体修复步骤

  1. 先在当前代码文件顶部导入WebKit框架,然后添加SwiftUIWebView自定义组件的实现代码,完整代码参考如下:
import SwiftUI
import WebKit

// 自定义SwiftUIWebView组件
struct SwiftUIWebView: UIViewRepresentable {
    let url: URL?
    
    func makeUIView(context: Context) -> WKWebView {
        WKWebView()
    }
    
    func updateUIView(_ uiView: WKWebView, context: Context) {
        guard let loadUrl = url else { return }
        uiView.load(URLRequest(url: loadUrl))
    }
}

// 原有业务代码
struct ContentView: View {
    var body: some View {
        NavigationView {
            SwiftUIWebView(url: URL(string: "https://www.apple.com/"))
                .navigationTitle("WebView")
        }
    }
}

// 修正原有代码的拼写错误:ContenView → ContentView
struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}
  1. 额外修正项:你原有代码中的预览结构体名称少写了字符t,修改为ContentView_Previews即可避免后续出现预览相关报错。
  2. 可选高版本适配方案:如果你的项目最低适配iOS 16+,可以直接使用SwiftUI官方提供的WebView组件,无需自行封装,调用示例:
// 导入WebKit后直接调用
WebView(request: URLRequest(url: URL(string: "https://www.apple.com/")!))

内容的提问来源于stack exchange,提问作者Joas Henrique

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 06:45:05