I have a menu-bar based application, which displays a window, when the icon is clicked.
It all works fine on Mac OS X Lion, but for some reason, an error occurs on Snow Leopard an sooner versions of Mac OS X. Anytime [TheWindowController window] is called the method stops, but the app keeps running. Because of this, I don’t think that the window is just nil, it’s corrupt, in some way.
I have no Idea why this happens, and like I said, it only happens in Mac OS X Snow Leopard.
Btw. I use ARC, if that matters at all.
You’re loading a NIB that uses a 10.7-specific feature, Cocoa Autolayout, on 10.6, which doesn’t understand it. If you wish to support running on 10.6, you need to avoid using such features. You should be able to set the deployment target on the NIB, which will then cause warnings to show up for features which aren’t supported by that deployment target.
Also, if you haven’t already done so, you need to do something similar for your target’s build settings. Set the deployment target. Unfortunately, that won’t necessarily cause warnings for code which uses features that were introduced in 10.7. You can set up an alternative build configuration which builds against the 10.6 SDK and compile against that to learn where you’re using post-10.6 features. See Apple’s SDK Compatibility Guide for more info.