Ich verwende WKWebView zum Anzeigen von benutzerdefiniertem HTML.
- Unabhängig vom HTML-Inhalt erhalte ich beim Testen auf einem realen Gerät
Could not signal service com.apple.WebKit.WebContent: 113: Could not find specified service
innerhalb von 29 Sekunden nach dem Laden des WKWebView- Inhalts den folgenden Fehler. Manchmal erhalte ich diesen Fehler sogar zweimal. Es handelt sich eindeutig um ein Konfigurationsproblem. Ich habe Cookies wie unter " Dienst com.apple.WebKit.WebContent" signalisiert nicht überprüft. Dies hilft jedoch nicht - Eine andere Frage ist, ob eine Liste aller Fehlercodes vorhanden ist, die möglicherweise in WKWebView angezeigt werden
Antworten:
Schließlich löste das Problem oben. Ich habe Fehler erhalten
Could not signal service com.apple.WebKit.WebContent: 113: Could not find specified service
Da ich der Ansicht kein WKWebView- Objekt als Unteransicht hinzugefügt und versucht habe, oben darauf aufzurufen
-loadHTMLString:baseURL:
. Und erst nachdem es erfolgreich geladen wurde, fügte ich es den Unteransichten der Ansicht hinzu - was völlig falsch war. Die richtige Lösung für mein Problem ist:1. Fügen Sie dem
subviews
Array der Ansicht ein WKWebView- Objekt hinzu2. Rufen Sie
-loadHTMLString:baseURL:
für kürzlich hinzugefügte WKWebViewquelle
Auch ich hatte dieses Problem beim Laden einer ' http' -URL in WKWebView in iOS 11, es funktioniert gut mit https.
Was für mich funktioniert hat, war das Festlegen der App-Transporteinstellung in der Datei info.pist, um das Laden des Arbitars zu ermöglichen.
<key>NSAppTransportSecurity</key> <dict> <!--Not a recommended way, there are better solutions available--> <key>NSAllowsArbitraryLoads</key> <true/> </dict>
quelle
Vielleicht ist es eine ganz andere Situation, aber ich habe es immer bekommen,
WebView[43046:188825] Could not signal service com.apple.WebKit.WebContent: 113: Could not find specified service
wenn ich eine Webseite im Simulator geöffnet habe, während der Debugger daran angehängt war. Wenn ich den Debugger beende und die App erneut öffne, wird die Webseite problemlos geöffnet. Dies ist auf den Geräten nicht der Fall.Nachdem er , um herauszufinden , einen ganzer Arbeits Tag versucht , was falsch ist, fand ich heraus , dass , wenn wir einen Rahmen genannt haben
Preferences
,UIWebView
undWKWebView
wird über eine Webseite zu öffnen und wirft die Fehler nicht in der Lage sein.Um diesen Fehler zu reproduzieren, erstellen Sie einfach eine einfache App
WKWebView
, um eine Webseite anzuzeigen. Erstellen Sie dann ein neues Framework-Ziel und benennen Sie esPreferences
. Importieren Sie es dann in das Hauptziel und führen Sie den Simulator erneut aus.WKWebView
kann keine Webseite öffnen.Es ist also wahrscheinlich unwahrscheinlich, aber wenn Sie ein Framework mit dem Namen haben
Preferences
, versuchen Sie es zu löschen oder umzubenennen.Wenn jemand eine Erklärung dafür hat, teilen Sie diese bitte mit.
Übrigens war ich auf Xcode 9.2.
quelle
localStorage
Problemen in derWKWebView
.Ich habe diesen Fehler beim Laden einer http: // URL erhalten, bei der der Server mit einer Umleitung zu https geantwortet hat. Nachdem ich die URL geändert habe, übergebe ich WKWebView an https: // ... es hat funktioniert.
quelle
SCHNELL
Nun, ich habe dies in der folgenden Reihenfolge gemacht und danach keine Fehler mehr erhalten. Der
Could not signal service com.apple.WebKit.WebContent: 113: Could not find specified service
folgende Code könnte Ihnen auch helfen.webView = WKWebView(frame: self.view.frame) self.view.addSubview(self.view.webView) webView.navigationDelegate = self webView.loadHTMLString(htmlString, baseURL: nil)
Als Bestellung ausführen.
Vielen Dank
quelle
Ich hatte dieses Problem unter iOS 12.4 beim Aufrufen von evaluJavascript. Ich habe es gelöst, indem ich den Anruf eingewickelt habe
DispatchQueue.main.async { }
quelle
In meinem Fall habe ich ein WKWebView gestartet und eine Website angezeigt. Dann (innerhalb von 25 Sekunden) habe ich die Zuordnung des WKWebView aufgehoben. Aber 25-60 Sekunden nach dem Start von WKWebView erhielt ich die Fehlermeldung "113". Ich gehe davon aus, dass das System versucht hat, dem WKWebView etwas zu signalisieren, und es nicht finden konnte, weil es freigegeben wurde.
Die Lösung bestand einfach darin, die WKWebView zugewiesen zu lassen.
quelle
Meins war wieder anders. Ich habe den Benutzeragenten so eingestellt:
NSString *jScript = @"var meta = document.createElement('meta'); meta.setAttribute('name', 'viewport'); meta.setAttribute('content', 'width=device-width'); document.getElementsByTagName('head')[0].appendChild(meta);"; WKUserScript *wkUScript = [[WKUserScript alloc] initWithSource:jScript injectionTime:WKUserScriptInjectionTimeAtDocumentEnd forMainFrameOnly:YES];
Dies führte dazu, dass etwas auf der Webseite ausflippte und Speicherplatz verlor. Ich bin mir nicht sicher warum, aber das Entfernen dieses Problems hat das Problem für mich gelöst.
quelle
Vielleicht könnte die folgende Methode die Ursache sein, wenn Sie sie eingestellt haben
func webView(_ webView: WebView!,decidePolicyForNavigationAction actionInformation: [AnyHashable : Any]!, request: URLRequest!, frame: WebFrame!, decisionListener listener: WebPolicyDecisionListener!)
endet mit
decisionHandler(.cancel)
für die Standardeinstellung
navigationAction.request.url
Hoffe, es funktioniert!
quelle
Unter OS X muss sichergestellt werden, dass die Sandbox-Funktionen ordnungsgemäß eingerichtet sind, damit WKWebView verwendet werden kann.
Dieser Link machte mir dies klar: https://forums.developer.apple.com/thread/92265
Teilen in der Hoffnung, dass es jemandem helfen wird.
Wählen Sie die Projektdatei im Navigator aus, wählen Sie Funktionen aus und stellen Sie Folgendes sicher:
* App-Sandbox ist AUS
ODER
* App-Sandbox ist EIN UND Ausgehende Verbindungen (Client) ist aktiviert.
quelle
Nur als Referenz für andere schien ich dieses Problem auch zu haben, wenn ich versuchte, eine URL zu laden, die am Ende Leerzeichen enthielt (wurde aus Benutzereingaben abgerufen).
quelle
Löschen / Kommentieren
- (void)viewWillAppear:(BOOL)animated {[super viewWillAppear:YES];}
Funktion löste das Problem für mich.
XCode (11.3.1)
quelle