I'm storing the bookmark data in an array displayed in a table: NSData *bookmarkData = [inAbsoluteURL bookmarkDataWithOptions:NSURLBookmarkCreationSuitableForBookmarkFile includingResourceValuesForKeys:nil relativeToURL:nil error:&error];
When the user double clicks on the row in the table I want to open the file. I use this: NSError *error; BOOL isStale; NSURL *url = [NSURL URLByResolvingBookmarkData:bookmarkData options:NSURLBookmarkResolutionWithoutUI relativeToURL:nil bookmarkDataIsStale:&isStale error:&error]; When the file's name or directory changes on my hard drive the resolved url == nil. I'd like it to resolve to the actual file even if my app is closed and opened again (I'm saving the bookmarkData to repopulate the table the next time the user opens my app). I thought that's what bookmarks did in 10.6 - I could be wrong. An ugly workaround would be when the user double-clicks for me to create an actual alias file in a temp folder from the bookmark data and store that in my array, recreate it in a temp folder and launch that. I'm sure that's wrong - there has got to be a better way. On Apr 3, 2010, at 6:55 PM, Ken Thomases wrote: > On Apr 3, 2010, at 5:20 PM, Brad Stone wrote: > >> I want to store a reference to a file in an ivar that will allow the user to >> change the file's name and/or the directory (i.e. the path) and still allow >> me to access it. I don't want to create a file (like an ailas). I need to >> store the file reference in a variable so I can open the file no matter >> where the user moves it or renames it. > > FSRefs have the property you desire. As of Snow Leopard, though, the new > recommended technique is to use a file reference NSURL. Check the NSURL > documentation and also: > > http://developer.apple.com/mac/library/documentation/cocoa/conceptual/LowLevelFileMgmt/Articles/FileManagementNSURL.html > > > Note that an alias _record_ is different from an alias _file_. An alias > record is data in memory and is suitable for this purpose, but perhaps > overkill. > > As of Snow Leopard, alias records are deprecated in favor of bookmark data, > but, again, it's probably overkill. (Both alias records and bookmark data > are more suitable if the reference is to be persisted for use by a later > process. Also, both can apply more robust searching heuristics to find an > appropriate file even if it isn't the original. For example, if the original > is deleted and replaced with a new file of the same name.) > > Cheers, > Ken > _______________________________________________ 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