Swift4 - WkwebView 警告无法向服务 com.apple.WebKit 发出信号
Posted
技术标签:
【中文标题】Swift4 - WkwebView 警告无法向服务 com.apple.WebKit 发出信号【英文标题】:Swift4 - WkwebView warning of Could not signal service com.apple.WebKit 【发布时间】:2018-04-13 09:53:43 【问题描述】:当我在WKWebView
中加载youtube
URL 时,我有一个日志。
我在***
中搜索了我的问题的相同标题。
但这对我不起作用。
我的代码有什么问题?
我使用swift4
& xcode9.2
。
谢谢。
Transport 也设置为 true。
这样的警告:
无法向服务 com.apple.WebKit.Networking 发出信号:113:找不到指定的服务
import UIKit
import WebKit
class DetailViewController: UIViewController
var videoId: String = ""
var videoTitle: String = ""
override func viewDidLoad()
super.viewDidLoad()
// Do any additional setup after loading the view.
loadUI()
override func didReceiveMemoryWarning()
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
func loadUI()
view.backgroundColor = UIColor.white
naviSetting()
webViewSetting()
func naviSetting()
self.title = videoTitle
func webViewSetting()
let webview = WKWebView(frame: CGRect(x: 0, y: 0, width: self.view.frame.width, height: self.view.frame.height))
let url = URL(string: "https://www.youtube.com/watch?v=\(self.videoId)")
let request = URLRequest(url: url!)
webview.load(request)
self.view.addSubview(webview)
【问题讨论】:
你也看到这个了吗***.com/questions/44585980/… 是的,它似乎不适合我。 @tolerate_Me_Thx 请检查我的答案。 @tolerate_Me_Thx 如果您已修复错误,请接受我的回答。提前致谢。 【参考方案1】:我尝试对参数进行编码,它对我来说工作正常。请检查以下代码。
var wkWebView = WKWebView()
override func viewDidLoad()
super.viewDidLoad()
self.automaticallyAdjustsScrollViewInsets = false
self.wkWebView.translatesAutoresizingMaskIntoConstraints = false
self.wkWebView.frame = CGRect.init(x: 0, y: 0, width: self.wkWebView.frame.size.width, height: self.wkWebView.frame.size.height)
self.view.addSubview(wkWebView)
loadUrl()
override func viewWillLayoutSubviews()
super.viewWillLayoutSubviews()
self.wkWebView.frame = CGRect.init(x: 0, y: 0, width: self.view.frame.size.width, height: self.view.frame.size.height)
self.wkWebView.contentMode = .scaleAspectFit
func loadUrl()
let webConfiguration = WKWebViewConfiguration()
webConfiguration.allowsInlineMediaPlayback = true
let url_join = "v=1p38GWfCIhQ"
let myURL = URL(string: "https://www.youtube.com/watch?")
var myRequest = URLRequest(url: myURL!)
myRequest.httpMethod = "POST"
myRequest.httpBody = url_join.data(using: String.Encoding.utf8)
wkWebView.load(myRequest)
我希望它也对你有用。 :)
【讨论】:
【参考方案2】:对我来说,这段代码运行良好。 请注意,我使用的是 http:// 而不是 https://。 但是您已经设置了 http:// 的设置。
import UIKit
import WebKit
class ViewController: UIViewController, WKNavigationDelegate
@IBOutlet weak var webView: WKWebView!
private let url = URL(string: "http://www.google.com")
override func viewDidLoad()
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let request = URLRequest(url: url!)
webView = WKWebView(frame: self.view.frame)
self.view.addSubview(webView)
webView.navigationDelegate = self
webView.load(request)
override func didReceiveMemoryWarning()
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
【讨论】:
以上是关于Swift4 - WkwebView 警告无法向服务 com.apple.WebKit 发出信号的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Swift 4 中从 WKWebView 获取 cookie 值?