My approach has landed up being just as kludgy, and I'm really annoyed that 
apple has made no way to opt out of this "feature." I have basically gone in 
(in the applicationWillFinishLaunching app delegate notification) and emptied 
and locked the saveState folder for just my application in the ~/Library folder 
of the user to prevent this nonsense.  Once locked the program behaves 
normally. 

NSApp delegate needs to simply have a -(BOOL) saveProgramState option (Apple, 
are you out there?)

It seems to have taken care of the issue.

On Aug 23, 2011, at 11:03 AM, Sean McBride wrote:

> On Mon, 22 Aug 2011 12:39:01 -0700, Matthew Weinstein said:
> 
>> I'm working on updating my app for lion. For the time being, just to get
>> users able to proceed I need to disable Lion's restore savedstate
>> default. I don't want Lion opening any windows (other than the ones I
>> open programmatically) when a user starts the program. I can't find how
>> to do that in the api for NSApp, am I missing something? I need the
>> program to force this condition, rather than leave it to users (I did
>> find a way users can turn off this feature).
> 
> Apple has not made this easy, despite the fact that this new Resume feature 
> causes binary incompatibility with several applications.
> 
> In my case, I made a wrapper around NSDocument's addWindowController: that 
> adds this:
> 
>               NSWindow* window = [inControllerToAdd window];
>               if ([window respondsToSelector:@selector(setRestorationClass:)] 
> &&
>                       [window respondsToSelector:@selector(setRestorable:)] &&
>                       [window 
> respondsToSelector:@selector(invalidateRestorableState)])
>               {
>                       [window setRestorationClass:Nil];
>                       [window setRestorable:NO];
>                       [window invalidateRestorableState];
>               }
> 
_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to