On Sep 16, 2011, at 12:33 PM, Sean McBride wrote: > Hi all, > > NSSavePanel will automatically show the user a 'Do you want to replace' sheet > if he tries to save with an existing name. > > What the correct way to proceed when replacement is needed? > > Option 1: First delete the existing item yourself. I've read this doesn't > work when sandboxed (not sure if that's a bug or feature). > > Option 2: Append/overwrite the existing item. This works if you're writing a > flat file and replacing a flat file. But if the existing item is a > directory, writeToURL:::: is giving me an "Error Domain=NSPOSIXErrorDomain > Code=21 "The operation couldn’t be completed. Is a directory")" > > What's the correct technique?
I performed a quick test using TextEdit as my guinea pig, and noticed that when TextEdit overwrites an existing RTFD bundle, TextEdit deletes the existing bundle and creates a new one in its place. (You can see this for yourself by using the fs_usage tool.) And since TextEdit is the most "Mac-like" app I know, I believe the correct technique is option 2 & deleting the existing directory if you get that error when trying to save. Nick Zitzmann <http://www.chronosnet.com/> _______________________________________________ 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