簡體   English   中英

如何修改 iOS WKWebView Swift 代碼以在 macOS 上執行相同操作?

[英]How to modify a iOS WKWebView Swift code to do the same on macOS?

這是我目前擁有的,適用於 iOS。

這是一個簡單的測試試驗,用於在 iOS 上加載 WebView。 這不應該放在 AppStore 或類似的東西上 - 所以請不要通過將我鏈接到關於“Apple 如何不允許它”的關於 stackoverflow 的文章來提供幫助。 我只想在本地運行這個應用程序。

我開始這樣做,因為我無法弄清楚如何在 macOS 上進行類似的事情。

我現在擁有的代碼如下 - 基本上是從多個 iOS WKWebView Swift 代碼教程中粘貼和修改的。

視圖控制器.swift

import UIKit
import WebKit

let webView = WKWebView()

class ViewController: UIViewController {

    override func loadView() {
        self.view = webView

        if let url = URL(string: "https://daringfireball.net") {
            let request = URLRequest(url: url)
            webView.load(request)
        }

    }

  override func viewDidLoad()
    {
        super.viewDidLoad()

        let request = URLRequest(url: URL(string: "https://daringfireball.net")!)

        webView.load(request)
    }


}

現在,這是我的問題:如何更改它以便它可以在 macOS Catalina 上運行,以便我可以將它保存為 .app 並運行它。 再次強調,不要試圖將其下載到 AppStore - 僅供本地使用。

我認為 macOS 沒有“UIKit”。 另外,在代碼中有兩個地方指定了相同的 URL 是否是多余的,是否應該只覆蓋一個?

您快到了 :)

這是您需要添加到 macOS 項目以使其加載網頁的代碼

import Cocoa
import WebKit

class ViewController: NSViewController {

    let webView = WKWebView()

    override func loadView() {
        view = webView
    }

    override func viewDidLoad() {
        super.viewDidLoad()
        let request = URLRequest(url: URL(string: "https://daringfireball.net")!)
        webView.load(request)
    }
}

macOS 沒有UIKit是完全正確的,而是使用Cocoa如您所見。

當您質疑自己時,我冒昧地刪除了您的“加載網頁”代碼片段之一。 現在我們只需在viewDidLoad加載它。

如果您在 Xcode 中創建一個新的 macOS 項目並粘貼以上內容,然后運行您的項目.....沒有任何反應:(

那是因為我們需要做最后一件事。

因此,轉到您的項目概述並選擇“簽名和功能”窗格。

您需要在 App Sandbox 下勾選“Outgoing Connections (Client)”,如下所示

能力

希望您現在會看到您的網頁已加載。

希望有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM