簡體   English   中英

如何為 MacOS 創建 WKWebView 應用程序

[英]How do I create a WKWebView App for MacOS

我在 IOS App Store 中有一個用 XCode 開發的 HTML5 應用程序,我希望為 Mac App Store 創建該應用程序的副本。 我認為這很容易,但我找不到任何簡單的教程來遵循,當然不是使用 XCode 11 和 Swift 5.1。 我不想走 Mac OS 10.15 中提供的自動路線

當我構建 XCode 11 附帶的默認 Hello World 應用程序時,它不會在 10.14 上運行! 我還不想升級到 10.15,主要是因為我希望該應用程序可以在早期版本的 MacOS 上運行

任何可以向我提供 WKWebView 應用程序加載本地文件的工作示例的參考的人都將成為我的英雄。

步驟 1 - 安裝 XCode 11 並打開它。

步驟 2 - 從主菜單中選擇“文件”、“新建”和“項目”。

第 3 步 - 選擇“應用程序”(左上角)並選擇“下一步”(右下角)。

第 4 步 - 為您的應用命名,為用戶界面選擇“故事板”,然后選擇“下一步”。

步驟 5 - 選擇一個文件夾,用於在您的計算機上存儲您的新應用程序,然后選擇“創建”。

第 6 步 - 在 XCode Navigator(左側窗格)中,從上下文菜單中選擇“添加文件”。

第 7 步 - 選擇包含 html/javascript/css/image 文件的文件夾 - 在本例中,我假設該文件夾的名稱為“www”,但它可以是任何名稱 - 只需記住將下面顯示的代碼中的“www”更改為你想要什么。

步驟 8 - 選擇“為任何添加的文件夾創建文件夾引用”並選擇“添加”

第 9 步 - 從導航器窗格中選擇“ViewController.swift”並將所有內容替換為如下所示的代碼,將“www”更改為包含您的 html 等的文件夾名稱,並將“AppName”更改為您的 html 文件的名稱。

第 10 步 - 按“運行”並使用您的新應用。

有關如何發布它和添加其他功能(例如在應用程序購買中),請參閱 Apple Developer 和其他互聯網資源/堆棧溢出問題。

import Cocoa
import WebKit

class ViewController: NSViewController, WKUIDelegate
    {
    var webView: WKWebView!

    override func loadView()
        {
        let webConfiguration = WKWebViewConfiguration ();
        webConfiguration.preferences.setValue(true, forKey: "allowFileAccessFromFileURLs");
        webView = WKWebView (frame: CGRect(x:0, y:0, width:800, height:600), configuration:webConfiguration);
        webView.uiDelegate = self ;
        view = webView;
        }

    override func viewDidLoad() {
    super.viewDidLoad()

    if let url = Bundle.main.url ( forResource: "AppName"
                                 , withExtension: "html"
                                 , subdirectory: "www")
        {
        let path = url.deletingLastPathComponent();
        self.webView.loadFileURL ( url
                                 , allowingReadAccessTo: path);
        self.view = webView ;
        }
    }
}

使用 Xcode 12 和 Big Sur,我必須轉到項目屬性,選擇簽名和功能選項卡,然后在App Sandbox下選中Outgoing Connections (Client)才能從 Steve Brooker 那里獲得出色的答案。

暫無
暫無

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

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