問題の概要
Flutter + InAppWebViewで構築したiOSアプリをデバッグしようとしたところ、
Safariのメニュー「開発」→「シミュレータ」に以下のような表示がされ、対象アプリが確認できませんでした。
調査可能なアプリケーションがありません
つまり、Webインスペクタを使用したデバッグが行えない状態です。
解決策
InAppWebViewの設定において isInspectable: true
を指定することで、Webインスペクタによるデバッグが可能になりました。
以下はその実装例です。
InAppWebView(
initialUrlRequest: URLRequest(url: WebUri('https://example.com')),
initialSettings: InAppWebViewSettings(
isInspectable: true, // Safari Web Inspectorを有効にする設定
),
)
このプロパティを有効にすることで、Safariの「開発」メニューからアプリが正しく表示され、WebインスペクタでDOMやコンソールの確認が可能になります。
根本的な原因
InAppWebView公式ドキュメント によると、iOS 16.4以降ではセキュリティ上の変更により、Webインスペクタ機能がデフォルトで無効化されています。
そのため、従来は不要だった isInspectable: true
の指定が、iOS 16.4以降ではWebインスペクタを利用するために必要となりました。