web-dev-qa-db-ja.com

com.Apple.WebKit.WebContentドロップ113エラー:指定されたサービスが見つかりませんでした

カスタムHTMLの表示にWKWebViewを使用しています。

  • HTMLコンテンツに関係なく、実際のデバイスでテストすると、WKWebViewコンテンツがロードされてから29秒後に次のエラーCould not signal service com.Apple.WebKit.WebContent: 113: Could not find specified serviceが表示されます。このエラーを2回受け取ります。明らかに、これは構成の問題です。 サービスcom.Apple.WebKit.WebContentを通知できませんでした で提案されているようにCookieをチェックしましたが、役に立たない
  • 別の質問は、WKWebViewでポップアップする可能性のあるすべてのエラーコードのリストが存在するかどうかです
38
Ievgen Gavrysh

最後に、上記の問題を解決しました。エラーが発生しました

  • Could not signal service com.Apple.WebKit.WebContent: 113: Could not find specified service

WKWebViewオブジェクトをサブビューとしてビューに追加しておらず、その上で-loadHTMLString:baseURL:を呼び出そうとしたためです。そして、それが正常にロードされた後にのみ、ビューのサブビューに追加していました-これはまったく間違っていました。私の問題の正しい解決策は次のとおりです。

1。追加WKWebViewビューのsubviews配列にオブジェクト

2。最近追加された-loadHTMLString:baseURL:を呼び出すWKWebView

29
Ievgen Gavrysh

サーバーがhttpsへのリダイレクトで応答したhttp:// URLをロードすると、このエラーが発生しました。 URLを変更した後、WKWebViewにhttps:// ...を渡しました。

6
Markus

まったく別の状況かもしれませんが、デバッガーをアタッチした状態でシミュレーターでWebページを開くと、常にWebView[43046:188825] Could not signal service com.Apple.WebKit.WebContent: 113: Could not find specified serviceが表示されます。デバッガーを終了してアプリを再度開くと、Webページが正常に開きます。これはデバイスでは発生しません。

何が問題なのかを把握しようとして1日中仕事をした後、PreferencesUIWebView、およびWKWebViewという名前のフレームワークがある場合、Webページを開くことができず、上記のエラーがスローされます。

このエラーを再現するには、WKWebViewを使用してWebページを表示する単純なアプリを作成します。次に、新しいフレームワークターゲットを作成し、Preferencesという名前を付けます。次に、それをメインターゲットにインポートし、シミュレータを再度実行します。 WKWebViewはWebページを開くことができません。

したがって、可能性は低いかもしれませんが、Preferencesという名前のフレームワークがある場合は、削除するか名前を変更してみてください。

また、誰かがこれについて説明をしている場合は、共有してください。

ところで、私はXcode 9.2を使用していました。

5
yusuke024

IOS 11でWKWebViewに「http」URLをロードするときに、この問題に直面しましたが、httpsで正常に動作しています。

私のために働いたのは、info.pistファイルにアプリトランスポート設定を設定して、任意の負荷を許可することでした。

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

スイフト

さて、次の順序でこれを実行しましたが、Could not signal service com.Apple.WebKit.WebContent: 113: Could not find specified serviceのようなエラーは表示されませんでした。次のコードも役立ちます。

webView = WKWebView(frame: self.view.frame)
self.view.addSubview(self.view.webView)
webView.navigationDelegate = self
webView.loadHTMLString(htmlString, baseURL: nil)

注文通りに行います。

ありがとう

1
Abhishek Mitra

私の場合、WKWebViewを起動してWebサイトを表示していました。次に(25秒以内に)WKWebViewの割り当てを解除しました。しかし、WKWebViewの起動後25〜60秒で、この「113」エラーメッセージが表示されました。システムがWKWebViewに何かを通知しようとしており、割り当てが解除されたためにそれを見つけることができなかったと思います。

修正は、単にWKWebViewを割り当てたままにすることでした。

1
Peter B. Kramer

私もまた違った。私は次のようにユーザーエージェントを設定していました:

    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];

これにより、Webページ上の何かがフリークし、メモリがリークしていました。理由はわかりませんが、これを削除することで問題が整理されました。

1
Guy Lowe

OS Xでは、WKWebViewを使用するためにSandbox機能が適切に設定されていることを確認する必要があります。

このリンクは私にこれを明確にしました: https://forums.developer.Apple.com/thread/92265

それが誰かを助けることを願って共有。


ナビゲータでプロジェクトファイルを選択し、機能を選択して、次のことを確認します。
*アプリサンドボックスはオフです。
または
*アプリサンドボックスがオンで、送信接続(クライアント)がチェックされています。

0
Juanmi

おそらく以下の方法が原因である可能性があります

func webView(_ webView: WebView!,decidePolicyForNavigationAction actionInformation: [AnyHashable : Any]!, request: URLRequest!, frame: WebFrame!, decisionListener listener: WebPolicyDecisionListener!) 

で終わる

decisionHandler(.cancel)

デフォルトのnavigationAction.request.url

うまくいきますように!

EvaluateJavascriptを呼び出すときに、iOS 12.4でこの問題が発生しました。 DispatchQueue.main.async { }で呼び出しをラップすることで解決しました

0
John Popham

他の参考のために、最後に空白が含まれている(ユーザー入力からプルされていた)URLをロードしようとすると、この問題もあるようです。

0
Dom Barnes