You can count on basic things working around the panel's intention (getting files/directories, specifying filters, etc). Most specifically, only methods defined in NSSavePanel and NSOpenPanel are available to you. You should not code around basic window functionality as your app will not have control of the window.
From Apple's documentation:
An NSOpenPanel or NSSavePanel object inherits fewer methods with App Sandbox. If you attempt to send a message to an NSOpenPanel or NSSavePanel object, and that method is defined in the NSPanel, NSWindow, or NSResponder classes, the system raises an exception. The Xcode compiler does not issue a warning or error to alert you to this runtime behavior.
If you are directly calling openFront
to display it as a panel, use NSSavePanel's beginWithCompletionHandler:
instead.