在运行 iOS 模拟器的 Mac 上,如果我转到 Safari -> 开发,它会显示“没有可检查的应用程序”。您过去可以在模拟器中检查网页,但看起来 Apple 在 iOS 16.4 中取消了这一功能。您似乎需要通过将该属性设置为 true 来将 WKWebView 标记为可检查(https://developer.apple.com/documentation/webkit/wkwebview/4111163-inspectable/),因为它默认为 false。我找到了如何在 Swift 或 Objective-C 中执行此操作的示例,但没有找到 Xamarin 的示例。知道如何在 Xamarin 中执行此操作吗?
https://webkit.org/blog/13936/enabling-the-inspection-of-web-content-in-apps/
来自文档:如何启用检查?,如果要启用 Web Inspector,则需要为
WKWebView设置
Inspectable
属性:
[assembly: ExportRenderer(typeof(WebView), typeof(MyWebViewRenderer))]
namespace .....
{
public class MyWebViewRenderer : ViewRenderer<WebView, WKWebView>
{
WKWebView wKWebView;
public MyWebViewRenderer()
{
}
protected override void OnElementChanged(ElementChangedEventArgs<WebView> e)
{
base.OnElementChanged(e);
if (Control != null) return;
var config = new WKWebViewConfiguration();
wKWebView = new WKWebView(Frame, config);
if (UIDevice.CurrentDevice.CheckSystemVersion(16, 0)) {
wKWebView.Inspectable = true;
}
}
}
}