Flutter: XcodeでThis method should not be called on the main thread as it may lead to UI unresponsiveness.の警告
結論:Xcode側の不具合だが、問題ないので気にせずでOK
2022/12/29 Flutter エラー・バグ日記
iOS実機でXcodeからビルドしたところ、アプリの動作は問題ないのものの、Xcode上に紫の文字で警告が表示された。
This method should not be called on the main thread as it may lead to UI unresponsiveness.
「FlutterAppDelegate」クラスのところに警告が出ており、直訳すると、
「UI が応答しなくなる可能性があるため、このメソッドをメインスレッドで呼び出すべきではない」
とのこと。。
Xcode14とiOS16の組み合わせで起こるらしい
初めて見る警告で、何のことかさっぱり分からず、ネット上を調べると、下記Q&A記事が見つかった。
質問者の方は、iOS16の端末をXcode14でビルドして発生したらしく、自分と全く同じ状況(自分のXcodeのバージョンは14.0)。
質問者による解決マークは付いていないものの、つい数日前に、Appleの「Developer Forums」に有益な説明がある、との回答がなされていた。
バックトレースを確認したらForumsの回答と全く同じ
早速、AppleのDeveloper Forumsを探してみると、ほぼ同じ内容で下記2つのスレッドがあった。
現時点で、前者のスレッドは未解決のまま。
後者のスレッドでは、冒頭の方でAdMobを使っていると発生するとの情報があるが、使わなくても発生するとのコメントもある。
現時点で参考になりそうなのは、最後の方にあるAppleご担当者の回答。
紫の三角マークをクリックしてバックトレース(履歴)を表示させ、個々のトレースについて説明している。
つまるところ、WKWebView、セキュリティフレームワーク、Xcodeの3者間の相互連携がうまく行っていないことが原因であり、現時点でその解消予定はないとのこと。
したがって、開発者サイドが書いたコードに起因する警告ではないので、気にしなくて良いらしい。
改めて自分のXcodeでもバックトレースを開いて確認したところ、上記スレッドに掲載されているバックトレースと全く同じ内容だった。
そのため、自分のケースでも気にする必要は無さそうなので、スルーすることにした。
初めて見る警告(特に紫の文字のは初めて)だったので戸惑った。
\一般的なエラー対処法をまとめた記事はこちら/
リリースしたアプリ(全てFlutterで開発)
個人アプリ開発で役立ったもの
おすすめの学習教材
\超初心者向けでオススメな元Udemyの講座/
\キャンペーン時を狙えば安価で網羅的な内容が学べる(日本語訳あり)/
\Gitの基礎について無料で学べる/
おすすめの学習書籍
\実用的。image_pickerに関してかなり助けられた/
\Dartの基礎文法を素早くインプットできる/