如何使用Swift 4.2和Xcode 10.1 MacOS App Extension在Safari浏览器中打开链接

时间:2018-12-06 11:13:30

标签: swift macos wkwebview macos-app-extension

我正在使用Xcode版本10.1在Swift 4.2中开发mac OS扩展。 当前,当用户单击工具栏按钮时,我正在显示一个弹出窗口。

在弹出窗口中,我加载了带有搜索框的网页。 当前,当用户使用搜索框进行搜索时,结果将显示在同一Web视图中(在弹出窗口本身中打开)

我想在野生动物园浏览器中打开该搜索链接/结果。

参考代码

import SafariServices
import WebKit
import os.log

class SafariExtensionViewController:  SFSafariExtensionViewController, WKNavigationDelegate, WKUIDelegate{

    static let shared = SafariExtensionViewController()

    var webView : WKWebView!

    override func viewDidLoad() {
        super.viewDidLoad()

        self.preferredContentSize = NSMakeSize(380, 350) //370, 340
        webView = WKWebView(frame: self.view.frame)
        self.view.addSubview(webView)

        webView.navigationDelegate = self
        webView.translatesAutoresizingMaskIntoConstraints = false;

        let height = NSLayoutConstraint(item: webView, attribute: .height, relatedBy: .equal, toItem: self.view, attribute: .height, multiplier: 1, constant: 0)
        let width = NSLayoutConstraint(item: webView, attribute: .width, relatedBy: .equal, toItem: self.view, attribute: .width, multiplier: 1, constant: 0)
        self.view.addConstraints([height,width])

        let startingUrl = URL(string: mySiteURL);
        webView.load(URLRequest(url: startingUrl!));
    }
}

如何在Safari浏览器标签中而不是弹出窗口中打开链接?

此外,xcode 10.1和Swift 4.2是否支持UIKit?

UIKit是否可用于mac OS App?

0 个答案:

没有答案