我正在使用 WKWebView 来查看自定义HTML。
Could not signal service com.apple.WebKit.WebContent: 113: Could not find specified service
,有时我甚至会收到此错误两次。显然,这是一个配置问题。我已根据Could not signal service com.apple.WebKit.WebContent中的建议检查了Cookie,但它没有帮助答案 0 :(得分:28)
最后,解决了上面的问题。我收到了错误
Could not signal service com.apple.WebKit.WebContent: 113: Could not find specified service
由于我没有在视图中添加 WKWebView 对象作为子视图,并尝试在其顶部调用-loadHTMLString:baseURL:
。只有在成功加载之后,我才会将其添加到查看的子视图中 - 这是完全错误的。我的问题的正确解决方案是:
1。添加 WKWebView 对象以查看subviews
数组
2。为最近添加的 WKWebView
致电-loadHTMLString:baseURL:
答案 1 :(得分:5)
我在加载http:// URL时遇到此错误,其中服务器回复了重定向到https。更改URL后,我将WKWebView传递给https:// ...它有效。
答案 2 :(得分:5)
也许这是一个完全不同的情况,但是在连接调试器的同时在模拟器上打开网页时我总是WebView[43046:188825] Could not signal service com.apple.WebKit.WebContent: 113: Could not find specified service
。如果我结束调试器并再次打开应用程序,网页将打开就好了。这不会发生在设备上。
在花了整整一个工作日试图找出错误之后,我发现如果我们有一个名为Preferences
的框架,UIWebView
和WKWebView
将不会能够打开一个网页并抛出上面的错误。
要重现此错误,只需使用WKWebView
创建一个简单的应用即可显示网页。然后创建一个新的框架目标并将其命名为Preferences
。然后将其导入主目标并再次运行模拟器。 WKWebView
无法打开网页。
所以,它可能不太可能,但是如果你有一个名为Preferences
的框架,请尝试删除或重命名它。
此外,如果有人对此有解释,请分享。
BTW,我在Xcode 9.2上。
答案 3 :(得分:4)
在iOS 11中加载 WKWebView 中的“http”网址时,我也遇到了这个问题,它可以正常使用https。
对我有用的是在info.pist文件中设置App传输设置以允许任意加载。
FilteredsearchString
答案 4 :(得分:1)
我的情况再次与众不同。我像这样设置用户代理:
<script src="https://unpkg.com/vue@2"></script>
<div id="app">
<select>
<option v-for="value in [0, 1, 2, 3]">{{value}}</option>
</select>
</div>
这导致网页上出现异常情况并泄漏内存。不知道为什么,但删除这个为我排序的问题。
答案 5 :(得分:0)
<强> SWIFT 强>
我按照以下顺序执行了此操作,之后没有收到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)
按顺序进行。
由于
答案 6 :(得分:0)
就我而言,我正在启动WKWebView并显示一个网站。然后(在25秒内)我重新分配了WKWebView。但是启动WKWebView后25-60秒,我收到此“ 113”错误消息。我以为系统正在尝试向WKWebView发出信号,但找不到,因为它已被释放。
解决方法只是保留WKWebView分配。
答案 7 :(得分:0)
如果将其设置为
,可能是以下方法引起的func webView(_ webView: WebView!,decidePolicyForNavigationAction actionInformation: [AnyHashable : Any]!, request: URLRequest!, frame: WebFrame!, decisionListener listener: WebPolicyDecisionListener!)
以
结尾decisionHandler(.cancel)
默认navigationAction.request.url
希望它能起作用!
答案 8 :(得分:0)
在OS X上,必须确保正确设置了沙箱功能才能使用WKWebView。
此链接使我很清楚: https://forums.developer.apple.com/thread/92265
分享希望能对某人有所帮助。
在导航器中选择项目文件,选择功能,然后确保:
*应用沙箱已关闭,
或
*“应用程序沙箱”已启用,并且“呼出连接(客户端)”已选中。
答案 9 :(得分:0)
仅供其他参考,如果我尝试加载一个末尾带有空格(从用户输入中拉出)的URL,我似乎也有这个问题。
答案 10 :(得分:0)
在我调用iOS时,我在iOS 12.4中遇到了这个问题。我通过将通话包装在DispatchQueue.main.async { }
答案 11 :(得分:0)
删除/评论
- (void)viewWillAppear:(BOOL)animated {[super viewWillAppear:YES];}
功能为我解决了问题。
XCode(11.3.1)