Dokumentation / Plattformen

iOS-WebViews

Die WebViews deiner eigenen App erscheinen in Tapscope, sobald die App sie als inspizierbar markiert. Hier steht der Schalter für nativen Code und verbreitete Frameworks.

Wann eine WebView inspizierbar ist

  • Seit iOS 16.4 ist eine WKWebView oder ein JSContext nur inspizierbar, wenn die App isInspectable auf true setzt. Vor iOS 16.4 waren WebViews in Entwicklungs-Builds automatisch inspizierbar.
  • Die App muss ein Entwicklungs-Build sein, installiert aus Xcode oder mit einem Entwicklungsprofil. Apps aus App Store und TestFlight lassen sich nicht untersuchen.
  • Die App muss beim Debuggen im Vordergrund laufen; Apps im Hintergrund antworten nicht.

Inspizierbare WebViews erscheinen in der Seitenleiste unter dem Namen deiner App mit dem Kennzeichen WebView, auf iPhone oder iPad genauso wie im iOS-Simulator.

Swift

let webView = WKWebView(frame: .zero, configuration: configuration)
#if DEBUG
if #available(iOS 16.4, *) {
    webView.isInspectable = true
}
#endif

Die Beschränkung auf DEBUG hält Release-Builds verschlossen. Dieselbe Eigenschaft gibt es bei JSContext für JavaScriptCore-Kontexte:

let context = JSContext()!
if #available(iOS 16.4, *) {
    context.isInspectable = true
}

Objective-C

if (@available(iOS 16.4, *)) {
    webView.inspectable = YES;
}

Capacitor

Capacitor steuert das über webContentsDebuggingEnabled. Entwicklungs-Builds sind meist schon inspizierbar; erscheint deine WebView nicht, setze es ausdrücklich:

// capacitor.config.ts
const config: CapacitorConfig = {
  ios: { webContentsDebuggingEnabled: true },
};

Danach npx cap sync ios ausführen und die App erneut aus Xcode bauen.

Cordova

Neuere Versionen von cordova-ios lesen die Einstellung InspectableWebview aus der config.xml:

<preference name="InspectableWebview" value="true" />

React Native WebView

react-native-webview bietet den Schalter als Eigenschaft:

<WebView source={{ uri: 'https://example.com' }} webviewDebuggingEnabled={__DEV__} />

Android

Das Gegenstück unter Android ist WebView.setWebContentsDebuggingEnabled(true), siehe die Android-Anleitung.

Fehlt sie immer noch?

Die Anleitung für iPhone & iPad zeigt, was zu prüfen ist, wenn ein Gerät keine inspizierbaren Seiten anbietet, und tapscope doctor meldet den Zustand jedes Geräts.

Mit Tapscope chatten

Der Chat wird erst mit „Chat starten“ geladen. Dabei werden IP-Adresse, Browserdaten und deine Nachrichten an tawk.to übermittelt. Der Dienst kann Cookies setzen und Daten in den USA verarbeiten.

Datenschutzhinweise von tawk.to ↗