システム内のディレクトリ/ファイルの情報を取得するために、ココアアプリでこれを試みています。このメソッドは、いくつかのキー属性がリストされた辞書を返します
-(NSDictionary *) metadataForFileAtPath:(NSString *) path {
NSURL *url = [[[NSURL alloc] initFileURLWithPath:path] autorelease];
MDItemRef itemRef = MDItemCreateWithURL(NULL, (CFURLRef)url);
NSArray *attributeNames = (NSArray *)MDItemCopyAttributeNames(itemRef);
NSDictionary *attributes = (NSDictionary *) MDItemCopyAttributes(itemRef, (CFArrayRef) attributeNames);
CFRelease(itemRef);
// probably it is leaking memory (attributeNames and attributes), better check with Instruments
return attributes;
}
別の方法...
NSDictionary *dict = [self metadataForFileAtPath];
NSString *date = [dict objectForKey:kMDItemFSCreationDate];
これを行うと、「互換性のないポインター型が 'const CFStringRef' (別名 'const struct __CFString *const') を型 'id' のパラメーターに送信しています」という警告メッセージが表示されました。それらを文字列に型キャストしようとしていますが、まだ存在しています。どこが間違っているのかわかりませんでした。