> On Jan 16, 2017, at 3:59 AM, Alastair Houghton <alast...@alastairs-place.net> > wrote: > > On 14 Jan 2017, at 10:41, Daryle Walker <dary...@mac.com> wrote: >> >> Could I base the UUID off a hash of the URL? Maybe, but it wouldn’t survive >> file moves. There are file references in macOS, which would be more stable, >> but I read that there’s a bug in the URL class where it would degrade >> file-reference URLs to standard-file URLs, so that’ll be problematic. >> Another solution would to create bookmark data from a file URL and take a >> hash of that. But are multiple bookmark data blocks of the same file URL >> consistent enough for this idea to work? > > FYI, you can base a UUID off any identifier you please, so if you have *any* > stable identifier, you can use that. The way you do so is: > > 1. Generate a UUID for your namespace, if there isn’t a standard one. > (Standard ones exist for domain names, URLs, OIDs and X.500 DNs. Otherwise > just generate a version 1 or 4 UUID, as appropriate.) > > 2. Use that and your identifier to compute an SHA-1 hash. > > 3. Use the SHA-1 hash to generate a version 5 UUID.
I looked at NSIncrementalStore subclasses on GitHub for inspiration. (Couldn’t find any NSAtomicStore ones.) While in theory we should take at least semi-heroic measures, in practice everyone goes “screw it” and calls the random UUID function (from NSProcessInfo). One guy even hard-coded a “1” as the UUID! — Daryle Walker Mac, Internet, and Video Game Junkie darylew AT mac DOT 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: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com