結論
iPhoneはバージョンによってインスペクトできるものとできないものがあるみたいです。対策としてはコードで記述する必要があるみたいです。
原因
こちらによるとiOS16.4からWKWebViewの仕様が変わったようです。
変更点
Across all platforms supporting
WKWebView
orJSContext
, a new property is available calledisInspectable
(inspectable
in Objective-C). It defaults tofalse
, and you can set it totrue
to opt-in to content being inspectable. This decision is made for each individualWKWebView
andJSContext
to prevent unintentionally making it enabled for a view or context you don’t intend to be inspectable. So, for example, to make aWKWebView
inspectable
, you would:
今回の16.4バージョンからisInspectable
プロパティが追加されました。これをtrue
にするとリリースビルドのWebViewアプリをSafariでデバックできるようになります。
対応
参考記事の追記をすることでインスペクトが可能になります。今回、私が実践した際にはisInspectable
を定義してなかったので下記のコードを追記しました。
extension WKWebView {
func enabledSafariInspector() {
#if DEBUG
if #available(iOS 16.4, *) {
if self.responds(to: Selector(("setInspectable:"))) {
self.perform(Selector(("setInspectable:")), with: true)
}
}
#endif
}
}
参考記事