Does @IBSegueAction still not work for AppKit relationship segues from NSWindowController?

I’m working on a storyboard-based AppKit application that uses an NSWindowController containing an NSSplitViewController with multiple child view controllers.

The hierarchy is roughly:

NSWindowController
└── NSSplitViewController
    ├── NSViewController
    ├── NSViewController
    └── NSViewController

I am trying to provide dependencies during storyboard instantiation using either @IBSegueAction or instantiateInitialController(creator:), rather than configuring everything after initialisation.

What I attempted

I added custom initialisers to my view controllers so I can pass dependencies at creation time:

class SplitViewController: NSSplitViewController {
    let dependency: Dependency

    init?(coder: NSCoder, dependency: Dependency) {
        self.dependency = dependency
        super.init(coder: coder)
    }

    required init?(coder: NSCoder) {
        print("init(coder:) was called")
        fatalError("init(coder:) is not supported")
    }
}

I then attempted to intercept storyboard instantiation using @IBSegueAction, trying it in both the window controller and the split view controller:

@IBSegueAction
func makeSplitViewController(_ coder: NSCoder) -> NSSplitViewController? {
    SplitViewController(coder: coder, dependency: dependency)
}

I also tried attaching the segue action at different points in the storyboard, but the behaviour did not change.

Observed behaviour

Regardless of where I place the segue action, AppKit still appears to call:

required init?(coder: NSCoder)

This means my custom initialiser is never used for the split view controller or its children.

Background reference

I found this older known issue in the Xcode 11 release notes:

“A Segue Action on a relationship segue between a NSWindowController and a View Controller is currently not supported and ignored. (48252727)”

This suggests that, at least historically, AppKit relationship segues ignored segue actions entirely.

Has this limitation since been fixed in modern Xcode/macOS SDK releases, or are relationship segues involving NSWindowController still incompatible with @IBSegueAction?

More generally, what is the intended way to provide dependencies to an NSSplitViewController and its child view controllers in a storyboard-based AppKit application? I am also unclear whether instantiateInitialController(creator:) participates in the creation of container hierarchies like split view controllers, or only top-level controllers.

Does @IBSegueAction still not work for AppKit relationship segues from NSWindowController?
 
 
Q