Not possible to show an NSWindow over screensaver the screensaver

We displayed a custom unlocking NSWindow over the screensaver. On El Capitan and Sierra it was working perfectly.

Starting from High Sierra, it stopped working at all.

The NSWindow simply never shows up. Setting the windows level to NSScreenSaverWindowLevel or higher has no effect.

Is there any way to resolve that issue?

Replies

10.13 definitely includes changes to prevent ‘random’ windows showing up on top of the screen saver (r. 32665348). From what context is your window being created? An authorisation plug-in? Using

SFAuthorizationPluginView
?

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

I created the window directly without SFAuthorizationPluginView. I can't use a custome NSView from SFAuthorizationPluginView's

(NSView*)viewForType:(SFViewType)inType; because of its limited width and height.


What is strange, now I tried to show my window from the didActivate method of SFAuthorizationPluginView.

But this time I got the standard macOS unlocking window, though my custom window code was invoked.

The right I use is system.login.screensaver.

I change the default use-login-window-ui to authenticate-session-owner-or-admin.

At this point I’m going to recommend that you open a DTS tech support incident so that you can get personalised one-on-one support (perhaps from me, perhaps from one of my colleagues). This stuff is, alas, way too complex to resolve in the context of DevForums.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

I am also facing the same problem. During unlock wanted to show a NSWindow. My custom mechanism is invoked but on unlock screen only popup screen displays with black background.

Through SFAuthorizationPluginView only a fixed size of rectangler subview is available. Is there any wasy through which we can display a custom window during unlock ?

Is there any wasy through which we can display a custom window during unlock?

No. I investigated this in depth as part of a DTS incident (not sure if it resulted from this thread or just cropped up independently) and determined that the unlock mechanism takes extraordinary measures to ensure that the only window that shows up on screen is the one hosting your SFAuthorizationPluginView.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"