• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
NSDocument autosavesInPlace + package file = no revert?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

NSDocument autosavesInPlace + package file = no revert?


  • Subject: NSDocument autosavesInPlace + package file = no revert?
  • From: Markus Spoettl <email@hidden>
  • Date: Sat, 25 Feb 2017 19:41:46 +0100

Hi,

I have a problem with autosavesInPlaces and my package document and reverting changes. The setup first:

All of the following methods in my NSDocument subclass return YES

+ (BOOL)autosavesInPlace
+ (BOOL)autosavesDrafts
- (BOOL)canAsynchronouslyWriteToURL:::
- (BOOL)checkAutosavingSafetyAndReturnError:

+ (BOOL)preservesVersions

returns NO

I also have "Ask to keep changes when closing documents" turned on in the system preferences.

Lets say I have a document (package) saved on disk, lets call it state A.

When I make a change to my document model , a few seconds later the auto-save kicks in, replacing the original. That is expected. This is state B.

When I don't manually use "File > Save" and quit the application, I get a "Revert Changes" panel for the document. Expected too.

Then I select "Revert Changes" and the app quits. What I expect to find on disk is State A. But what is actually there is state B.

Actually I'm not sure my document saving to a package has anything to do with it.

I looked at what happens when the application quits and

- (BOOL)revertToContentsOfURL:ofType:error:

is called. The absoluteURL passed in is the original file URL. So it's not surprising that this call doesn't actually revert any change. It's the latest version that autosave put there, overwriting the original.

Do I have to use +preservesVersions=YES make this work (this means, reverting actually does what it says)? I don't want my app to have that feature, but if it's a file-system background-only thing, then I just might.

Best Regards
Markus

--
__________________________________________
Markus Spoettl
_______________________________________________

Cocoa-dev mailing list (email@hidden)

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:

This email sent to email@hidden


  • Follow-Ups:
    • Re: NSDocument autosavesInPlace + package file = no revert?
      • From: Quincey Morris <email@hidden>
  • Prev by Date: Re: Need replacement of Component Manager::OpenDefaultComponent
  • Next by Date: Re: NSDocument autosavesInPlace + package file = no revert?
  • Previous by thread: tvOS UIFocusGuide
  • Next by thread: Re: NSDocument autosavesInPlace + package file = no revert?
  • Index(es):
    • Date
    • Thread