エラー内容
SwiftUIで開発していると、プロジェクト名App.swift
に、以下のような紫のエラーが表示されてしまいます。
This method should not be called on the main thread as it may lead to UI unresponsiveness.
原因
結論から言うとXcode14からのバグです。
なので、無視してXcodeのアップデートを待ちましょう。としか言えません。。
こちらでAppleの開発者も認識してるっぽいので、Xcode14.xで解決されるのではないかと思います。
紫のエラーは、アプリケーションのパフォーマンスに影響を与える可能性があるよと言うことなので、ビルドは問題なくできるかと思います。
ちなみに、以下のような感じで、メインスレッドでWebViewを使ったり、するとこのエラーが発生します。
import SwiftUI import WebKit struct ContentView: View { var body: some View { WebView(url: URL(string: "https://ios-docs.dev")!) } } struct WebView: UIViewRepresentable { var url: URL func makeUIView(context: Context) -> WKWebView { return WKWebView() } func updateUIView(_ webView: WKWebView, context: Context) { let request = URLRequest(url: url) webView.load(request) } }
参考文献