On Aug 23, 2010, at 6:57 AM, Olivier Tristan wrote:
> I'm looking for a way to get the hidden attribute of a file using cocoa as my 
> applications is going to be ported to 64bits.
> I've took a look to NSFileManager and it do not seems to provide such 
> facility.
> 
> I used to do this
> 
> |FSRef ref;
> OSStatus err = FSPathMakeRefWithOptions(path, 
> kFSPathMakeRefDoNotFollowLeafSymlink, &ref, 0);
> if (err == noErr)
> {
>  LSItemInfoRecord info;
>  err = LSCopyItemInfoForRef(&ref, kLSRequestBasicFlagsOnly, &info);
>  if (err == noErr)
>  {
>    return ((info.flags & kLSItemInfoIsInvisible) != 0);
>  }
> }
> return false;|
> 
> but this code required Carbon as far as I know.


FSPathMakeRefWithOptions() and LSCopyItemInfoForRef() are both available on 
64-bit Mac OS. You can use that code as-is. (How can you tell? Find the 
function in the Mac OS SDK documentation. Functions that were dropped for 
32-bit say "Availability: Not available to 64-bit applications".)

The Cocoa equivalent might be -[NSURL getResourceValue:forKey:error:], with the 
NSURLIsHidden key. I don't know if that's identical to kLSItemInfoIsInvisible, 
though.


-- 
Greg Parker     gpar...@apple.com     Runtime Wrangler


_______________________________________________

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

Reply via email to