I developed a small utility app which has one
NSWindow. I usually put it on Desktop 2 (IIRC it was called workspace? But it seems Apple doesn’t do it any more), but when I rebooted the OS, it went to show on Desktop 1, which is a bit annoying. I had failed to find the solution throughout Apple documents and random experiments (well, it turned out I have lame search skill).
Autosave nameproperty of NSWindow in Interface Builder saves the frame across the app launches, but not the Desktop across OS launches.
setFrameUsingNameworks the same way.
Actually, the property that work for it is
isRestorable, settable in Interface Builder as