NSHostingController menu not activated

I'm attempting to write a macOS version of https://stackoverflow.com/a/74935849/2178159.

From my understanding, I should be able to set the menu property of an NSResponder and it will automatically show on right click.

I've tried a couple things:

A: set menu on an NSHostingController's view - when I do this and right or ctrl click, nothing happens. B: set menu on NSHostingController directly - when I do this I get a crash Abstract method -[NSResponder setMenu:] called from class _TtGC7SwiftUI19NSHostingControllerGVS_21_ViewModifier_...__. Subclasses must override C: manually call NSMenu.popup in a custom subclasses of NSHostingController or NSView's rightMouseDown method - nothing happens.

extension View {
    func contextMenu(menu: NSMenu) -> some View {
        modifier(ContextMenuViewModifier(menu: menu))
    }
}

struct ContextMenuViewModifier: ViewModifier {
    let menu: NSMenu

    func body(content: Content) -> some View {
        Interaction_UI(
            view: { content },
            menu: menu
        )
            .fixedSize()
    }
}

private struct Interaction_UI<Content: View>: NSViewRepresentable {
    typealias NSViewType = NSView

    @ViewBuilder var view: Content
    let menu: NSMenu

    func makeNSView(context: Context) -> NSView {
        let v = NSHostingController(rootView: view)

        // option A - no effect
        v.view.menu = menu

        // option B - crash
        v.menu = menu

        return v.view
    }

    func updateNSView(_ nsView: NSViewType, context: Context) {
        // part of option A
        nsView.menu = menu
    }
}
NSHostingController menu not activated
 
 
Q