对于我正在运行的名为 SourceControl 的小程序,我正在尝试以下操作:在计算机上的某个(现在从静态)路径读取文件(从 Internet 下载)。
主要思想是从下载文件的位置获取源。
像这样:
我已经尝试了一些代码,但我得到的是一个指向另一个对象的指针,这并不是我真正想要的......我想像这样显示实际的字符串:“ http://www.sunjets.be/ _images/boekingsengine/grevas1_nl.jpg "
得到NSFileExtendedAttributes
最终得到com.apple.metadata:kMDItemWhereFroms
:
int main(int argc, const char * argv[])
{
@autoreleasepool {
//Static path to my file/image
NSString* myPath = @"/Users/Verbe/Klassieke_Oudheid.JPG";
//creating the filemanager
NSFileManager *filemgr = [[NSFileManager alloc]init];
//if the path exists, whiii it exists!
if ([filemgr fileExistsAtPath:myPath])
{
NSLog(@"file exists!");
//Set the fileattributes to the dictionary!
NSDictionary *fileAttributes = [filemgr attributesOfItemAtPath:myPath error:
nil];
for (NSString* myKey in fileAttributes)
{
if ([myKey isEqualToString:@"NSFileExtendedAttributes"])
{
NSLog(@"MyKey = %@ with attribute: %@",myKey, [fileAttributes objectForKey:myKey]);
}
}
}
else
{
NSLog(@"File does not exist!");
}
}
return 0;
结果如下:
2013-10-11 04:23:32.167 CustomInit [1016:303] 文件存在!2013-10-11 04:23:32.190 CustomInit[1016:303] MyKey = NSFileExtendedAttributes with attribute: { "com.apple.metadata:kMDItemDownloadedDate" = <62706c69 73743030 a1013341 b8078c4f a88e8a08 0a000000 00000001 01000000 00000000 02000000 00000000 00000000 00000000 13>; "com.apple.metadata:kMDItemWhereFroms" = <62706c69 73743030 a1015f10 3b687474 703a2f2f 7777772e 73756e6a 6574732e 62652f5f 696d6167 65732f62 6f656b69 6e677365 6e67696e 652f6772 65766173 315f6e6c 2e6a7067 080a0000 00000000 01010000 00000000 00020000 00000000 00000000 00000000 0048>; “com.apple.quarantine”=<30303030 3b353235 37353463 663b5361 66617269 3b>;程序以退出代码结束:0
请注意,com.apple.metadata:kMDItemDownloadedDate
andcom.apple.metadata:kMDItemWhereFroms
确实存在!
这是怎么回事,我该如何解决?