I’m trying to understand the Finder Tags APIs in Mavericks.

I would like to set a custom Finder Tag on a number of files, ensure it appears 
in the Finder sidebar tag set, and assign it a color so the user can gather the 
files easily in the Finder. My application is a file manager and moves files 
around, but never actually opens and saves them so the user cannot explicitly 
assign Tags in a save dialog.

Let’s say I want to use “My Tag” as the tag string. I can assign a tag like 
this:

    NSDictionary *dictTags = [item resourceValuesForKeys:[NSArray 
arrayWithObject:NSURLTagNamesKey] error:&error];
    NSArray *arrPreviousTags = [dictTags valueForKey:NSURLTagNamesKey];
    NSArray *arrNewTags = [arrPreviousTags arrayByAddingObject:@"My Tag"];
    [item setResourceValue:arrNewTags forKey:NSURLTagNamesKey error:&error];

then “My Tag” shows in the Finder tags list, but with no color. I can’t seem to 
find much by way of a Tags API other than the NSURL NSURLTagNamesKey resources.

How can I assign a color to the tag “My Tag”?

I’d even settle for always using the standard Red tag, for example, but I would 
need to check that it exists in case the user has changed the default Tag set. 
And it might have a different name in other localizations. Can I enumerate all 
the Finder Tags that are available? The NSWorkspace labels don’t seem to be the 
same thing:

       NSArray *possibleTags = [[NSWorkspace sharedWorkspace] fileLabels];

always returns: None, Gray, Green, Purple, Blue, Yellow, Red, Orange, i.e. not 
my custom tag, nor even the standard “Important”, “Home” or “Work”.

Thanks,

— Ben.

(PS: I made a similar post a week or so ago but I don’t think it ever got to 
the list. Apologies if anyone gets this twice.)


_______________________________________________

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

Reply via email to