システムステータスバーのメニューが無効になっている
 Dec 23 2020
 func createStatusItem() -> NSStatusItem {
        let item = NSStatusBar.system.statusItem(withLength: NSStatusItem.squareLength)
        item.button?.image = NSImage(systemSymbolName: "archivebox.fill", accessibilityDescription: "")
        item.menu = createMenu()
        return item;
    }
    func createMenu() -> NSMenu {
        let menu = NSMenu(title: "Cap Status Bar Menu")
        menu.addItem(
                withTitle: "Order a burrito",
                action: #selector(StatusBarFactory.x(_:)),
                keyEquivalent: "A")
        menu.addItem(
                withTitle: "Cancel burrito order",
                action: #selector(StatusBarFactory.x(_:)),
                keyEquivalent: "B")
        menu.addItem(NSMenuItem.separator())
        let i = NSMenuItem(title: "test", action: #selector(StatusBarFactory.x(_:)), keyEquivalent: "T");
        menu.addItem(i)
        return menu
    }
これにより、システムステータスバーにメニューが作成されますが、すべての項目が無効になっています。
誰かがそれを修正する方法を知っていますか?どうもありがとう。
 
                回答
Asperi Dec 23 2020 at 12:11
メニュー検証では、レスポンダーチェーンで指定されたアクションの実装者が見つからないため、無効にします。各メニュー項目のターゲットを指定する必要があります。
    let item = menu.addItem(
            withTitle: "Order a burrito",
            action: #selector(StatusBarFactory.x(_:)),
            keyEquivalent: "A")
    item.target = _instance_of_StatusBarFactory_here // like StatusBarFactory.shared