COM.Apple.WebKit.WebContent drops 113 erreur: Impossible de trouver le service spécifié
j'utilise WKWebView pour visualiser le HTML personnalisé.
- indépendamment du contenu HTML, lors des tests sur le périphérique réel, je reçois l'erreur suivante
Could not signal service com.apple.WebKit.WebContent: 113: Could not find specified service
en 29 secondes après WKWebView contenu chargé, parfois je reçois même cette erreur deux fois. De toute évidence, il s'agit d'un problème de configuration. J'ai vérifié les témoins comme proposé dans ne pouvait pas signaler le service com.Apple.WebKit.WebContent , cependant cela n'aide pas - une autre question Est de savoir s'il existe une liste de tous les codes d'erreur qui pourraient apparaître dans WKWebView
6 réponses
Enfin, résolu le problème ci-dessus. J'ai été de recevoir des erreurs
-
Could not signal service com.apple.WebKit.WebContent: 113: Could not find specified service
puisque je n'ai pas ajouté WKWebView objet sur la vue comme un subview et essayé d'appeler -loadHTMLString:baseURL:
sur le dessus de celui-ci. Et c'est seulement après qu'il ait été chargé avec succès que je l'ai ajouté aux sous - vues de view-ce qui était totalement faux. La bonne solution pour mon problème est:
1. Ajouter WKWebView objet pour afficher subviews
array
2. Appel -loadHTMLString:baseURL:
récemment ajouté WKWebView
j'ai obtenu cette erreur en chargeant une URL http:// où le serveur a répondu avec une redirection vers https. Après avoir changé L'URL, je passe à WKWebView en https://... il a travaillé.
peut-être que c'est une situation complètement différente, mais j'ai toujours eu WebView[43046:188825] Could not signal service com.apple.WebKit.WebContent: 113: Could not find specified service
en ouvrant une page web sur le simulateur tout en ayant le débogueur attaché à elle. Si je mets fin au débogueur et que j'ouvre à nouveau l'application, la page Web s'ouvrira parfaitement. Ce n'est pas le cas sur les appareils.
après avoir passé toute une journée de travail à essayer de comprendre ce qui ne va pas, j'ai découvert que si nous avons un cadre nommé Preferences
, UIWebView
et WKWebView
ne sera pas en mesure de ouvrez une page web et lève l'erreur ci-dessus.
pour reproduire cette erreur il suffit de faire une application simple avec WKWebView
pour afficher une page web. Ensuite, créez une nouvelle cible de cadre et nommez-la Preferences
. Ensuite, importez - le sur la cible principale et réessayez le simulateur. WKWebView
n'ouvrira pas de page web.
donc, il pourrait être peu probable, mais si vous avez un cadre avec le nom Preferences
, essayer de le supprimer ou de le renommer.
aussi, si quelqu'un a une explication pour cela merci de faire partager.
BTW, j'étais sur Xcode 9.2.
j'ai moi aussi rencontré ce problème lors du chargement d'une url 'http' dans WKWebView dans iOS 11, Il fonctionne très bien avec https.
ce qui a fonctionné pour moi était de mettre App Transport setting in info.fichier pist pour permettre la charge arbitaire.
<key>NSAppTransportSecurity</key>
<dict>
<!--Not a recommended way, there are better solutions available-->
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
SWIFT
Eh bien j'ai fait cela dans l'ordre suivant et n'ai pas eu d'erreur comme Could not signal service com.apple.WebKit.WebContent: 113: Could not find specified service
après cela, le code suivant pourrait vous aider aussi.
webView = WKWebView(frame: self.view.frame)
self.view.addSubview(self.view.webView)
webView.navigationDelegate = self
webView.loadHTMLString(htmlString, baseURL: nil)
faites comme ordre.
Merci
Mine était encore différent. Je réglais le user-agent comme suit:
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];
cela causait quelque chose sur la page web de paniquer et de fuite de mémoire. Je ne sais pas pourquoi, mais enlever ceci a réglé le problème pour moi.