com.apple.WebKit.WebContent掉落113错误:找不到指定的服务


75

我正在使用WKWebView来查看自定义HTML。

  • 无论HTML内容如何,​​当在真实设备上进行测试时,加载WKWebView内容Could not signal service com.apple.WebKit.WebContent: 113: Could not find specified service后29秒内都会收到以下错误,有时我甚至两次收到此错误。显然,这是一个配置问题。我已经按照无法发出信号com.apple.WebKit.WebContent的建议检查了cookie ,但是它没有帮助
  • 另一个问题是是否存在可能在WKWebView中弹出的所有错误代码的列表

@levgen,您好,您找到解决此问题的方法了吗?
Dragisa Dragisic

1
@DragisaDragisic请参阅下面的评论
Ievgen Gavrysh,

1
嗨,我在使用Unity生成的项目时收到此错误,特别是在尝试初始化ads包时。有谁知道这可能是什么原因?
Figwig

添加“ http://”将解决您的问题。
NSDev '20年

Answers:


36

最后,解决了以上问题。我收到错误

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

由于我尚未在视图上添加WKWebView对象作为子视图,并试图-loadHTMLString:baseURL:在其顶部进行调用。而且只有在成功加载后,我才将其添加到视图的子视图中-这是完全错误的。解决我的问题的正确方法是:

1.添加WKWebView对象以查看subviews数组

2.调用-loadHTMLString:baseURL:最近添加的WKWebView


@Nikita,对您有帮助吗?请分享您的经验和环境。条件。我问,因为我打算删除此评论,因为它不能解决100%的情况为何会弹出此错误...
Ievgen Gavrysh

1
日志本身在不同情况下每次都会发生;我没有找到一致的日志模式;但是将Webview添加到视图层次结构中的事实确实有助于加载所有请求。我的情况完全相同-加载之前没有添加Web视图来查看;因此,现在我将其添加为隐藏状态,以使其处于视图层次结构中,然后将其添加到键窗口中,然后在加载时将其添加到应有的位置并禁用hidden属性;
Nikita

7
我正在按正确的顺序执行您说的内容,但仍然出现错误。我注意到它发生的那一刻对我来说似乎是随机的……就像有时我在关闭拥有WebView的VC之后发生这种情况,有时在我加载它时又发生了这种情况……您是否已经想到了其他任何东西出来吗?
Andreza Cristina da Silva

谢谢,这也是我所做的,这完全解决了问题!
奥斯汀

请问我能从电容器应用程序(“ ionic 5”)中执行“将WKWebView对象添加到视图的子视图数组”
valik

13

在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>

3
这需要根据以下要求在App Store提交中提供理由:developer.apple.com/documentation/bundleresources/…–
zaitsman

11

也许是完全不同的情况,但是WebView[43046:188825] Could not signal service com.apple.WebKit.WebContent: 113: Could not find specified service 在连接调试器的同时在模拟器上打开网页时,我总是会得到提示。如果我结束调试器并再次打开应用程序,则该网页将正常打开。在设备上不会发生这种情况。

在花了整整一天的时间试图找出问题所在之后,我发现如果我们有一个名为的框架PreferencesUIWebView并且WKWebView将无法打开网页,并且会在上面抛出错误。

要重现此错误,只需制作一个WKWebView用于显示网页的简单应用即可。然后创建一个新的框架目标并命名Preferences。然后将其导入到主要目标并再次运行模拟器。WKWebView将无法打开网页。

因此,这不太可能,但是如果您有一个名称为的框架Preferences,请尝试删除或重命名它。

另外,如果有人对此有解释,请分享。

顺便说一句,我使用的是Xcode 9.2。


我刚刚遇到了这个问题,只是在模拟器中运行而没有Xcode调试会话就使它消失了。没有偏好设置框架或其他任何东西,但确实看起来与中的cookie /localStorage问题有关WKWebView
梯队

8

我在加载http:// URL时遇到此错误,服务器在其中回复了对https的重定向。更改URL后,我将传递给WKWebView的https:// ...起作用了。


谢谢!我正在调试,并且在我使用的测试URL上保留了“ s”。.这对我来说已经解决了...

3

迅速

好吧,我按以下顺序执行了此操作,但未收到任何类似的错误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)

按顺序进行。

谢谢


3

我在iOS 12.4上调用评估Javascript时遇到了这个问题。我通过将呼叫包裹进来解决了DispatchQueue.main.async { }


我在哪里可以写..我试过但不播放视频
Maulik shah,

DispatchQueue.main.async {self.wkWebView.loadHTMLString(“ <html> <body字体家族:'THSarabun'>国王万岁<br/> <br/> </ body> </ html>”,baseURL: nil)}
ittgung

2

就我而言,我正在启动WKWebView并显示一个网站。然后(在25秒内)我重新分配了WKWebView。但是启动WKWebView后25-60秒,我收到此“ 113”错误消息。我假设系统正在尝试向WKWebView发出信号,但找不到,因为它已被释放。

解决的方法只是保留WKWebView分配。


2
这似乎不是一个干净的解决方案。我不希望我的WKWebView仍然存在,即使我显然不再需要它,因为它正在使用资源并占用大量内存。
dedda1994 '19

2
我认为这种事情称为内存泄漏。
Mateusz

也许是内存泄漏-但这让我发疯了。我在App委托中仅分配/初始化一个WKWebView对象,从任何视图引用该实例并将其添加为子视图。奇迹般有效。我还将其框架设置为视图中隐藏的UILabel的框架,以便可以使用所有Xib调整大小。
Peter B. Kramer

1

我的又一次与众不同。我像这样设置用户代理:

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

这导致网页上的某些内容突然出现并泄漏内存。不知道为什么,但是删除它对我来说是个问题。


删除JavaScript注入已为我解决了这个问题。...但现在我需要找到一种解决方法,因为我需要使用JS
Aaron

0

如果将其设置为以下方法,则可能是以下原因

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

以。。结束

decisionHandler(.cancel)

为默认 navigationAction.request.url

希望它能起作用!


0

在OS X上,必须确保正确设置了沙箱功能才能使用WKWebView。

该链接使我很清楚:https : //forums.developer.apple.com/thread/92265

分享希望能对别人有所帮助。


在导航器中选择项目文件,选择功能,然后确保:
*应用程序沙箱已关闭,

*应用程序沙箱已打开,并检查了出站连接(客户端)。


3
包括实际答案,而不只是链接到它。
RiddleMeThis

0

仅供其他参考,如果我尝试加载末尾有空格(从用户输入中拉出)的URL,我似乎也遇到了此问题。


0

删除/评论

- (void)viewWillAppear:(BOOL)animated {[super viewWillAppear:YES];}

功能为我解决了问题。

XCode(11.3.1)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.