122 votes

com.apple.WebKit.WebContent supprime l'erreur 113: impossible de trouver le service spécifié

Je suis à l'aide de WKWebView pour la visualisation HTML personnalisé.

  • Indépendamment du contenu HTML, lors de l'essai 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 29 sec après WKWebView le contenu chargé, parfois j'ai même reçu cette erreur deux fois. Clairement, c'est un problème de configuration. J'ai vérifié les cookies comme proposé dans le Pourrait pas de signal service com.apple.WebKit.WebContent, mais il n'aide pas
  • Une autre question est de savoir si il existe une liste de tous les codes d'erreur qui peuvent apparaître dans WKWebView

39voto

Ievgen Gavrysh Points 557

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

Depuis je n'ai pas ajouté WKWebView objet sur la vue comme une sous-vue et essayé de les appeler, -loadHTMLString:baseURL: sur le haut. Et seulement après qu'il a été chargé avec succès j'ai été l'ajouter à la vue des sous-vues - ce qui était totalement faux. La bonne solution pour mon problème est le suivant:

1. Ajouter WKWebView objet pour afficher l' subviews tableau

2. Appelez -loadHTMLString:baseURL: récemment ajouté WKWebView

18voto

Asad Khan Points 104

J'ai moi aussi rencontré ce problème lors du chargement d'une URL 'http' dans WKWebView sous iOS 11, il fonctionne correctement avec https.

Ce qui a fonctionné pour moi a été de définir les paramètres de transport d'applications dans le fichier info.pist pour permettre un chargement arbitraire.

 <key>NSAppTransportSecurity</key>
    <dict>
        <!--Not a recommended way, there are better solutions available-->
        <key>NSAllowsArbitraryLoads</key>
        <true/>
    </dict>
 

17voto

sikhapol Points 1419

Peut-être que c'est une situation totalement différente, mais j'ai toujours eu WebView[43046:188825] Could not signal service com.apple.WebKit.WebContent: 113: Could not find specified service lors de l'ouverture d'une page web sur le simulateur, tout en ayant le débogueur attaché à elle. Si je finis le débogueur et l'ouverture de l'application à nouveau la page web s'ouvrira très bien. Ce n'est pas le cas sur les appareils.

Après avoir passé toute une journée à essayer de comprendre quel est le problème, j'ai découvert que si nous disposons d'une structure nommée Preferences, UIWebView et WKWebView ne sera pas en mesure d'ouvrir une page web et jeter l'erreur ci-dessus.

Pour reproduire cette erreur, il suffit de faire une simple application avec WKWebView pour afficher une page web. Puis créer un nouveau cadre de cible et nommez - Preferences. Puis de l'importer à la cible principale et exécutez à nouveau le simulateur. WKWebView ne parviendra pas à ouvrir une page web.

Alors, il pourrait être improbable, mais si vous avez un cadre avec le nom de l' Preferences, essayez de supprimer ou de le renommer.

Aussi, si quelqu'un a une explication pour cela merci de faire partager.

BTW, j'ai été sur Xcode 9.2.

9voto

Markus Points 194

J'ai eu 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: // ... cela a fonctionné.

0voto

Goku Points 200

Le mien était encore différent. Je configurais l'agent utilisateur 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 un phénomène de panique sur la page Web et une fuite de mémoire. Je ne sais pas pourquoi mais supprimer cette question a réglé le problème pour moi.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X