在 SwiftUI macOS 应用程序中禁用或删除打印菜单项

Disable or remove the print menu item in a SwiftUI macOS app

如何禁用或删除 SwiftUI macOS 应用程序中的菜单项?例如,Print... 项默认显示在 File 菜单中。但是我的应用程序不使用打印功能。我如何从 SwiftUI Mac 应用程序的文件菜单中删除打印项?

我在 AppDelegate.swift 中尝试了以下方法,但它不起作用:

import Cocoa
import SwiftUI

@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate {
    
    func applicationWillFinishLaunching(_ notification: Notification) {
        if let menu = NSApplication.shared.mainMenu {
            menu.item(withTitle: "File")?.submenu?.item(withTitle: "Print...")?.state = NSControl.StateValue.off
        }
    }
    
}

[每个请求@Alexander]

早期的 SwiftUI 项目模板有明确的主菜单资源,Main.storyboard(或 xib 文件)。如果您可以在您的项目中找到一个,那么只需在此处找到菜单并手动删除打印菜单项。