列出iCloud中可用的文件

Lau*_*llo 2 macos xcode cocoa icloud

有没有办法列出我在iCloud中的所有文件(文件+数据)(来自Mac)?我相信NSMetadataQuery对象可以帮助我,但有没有示例代码?

谢谢 !

n.e*_*ind 6

这里有一些示例代码,用于查询iCloud文件夹中的txt文件.如果要查找其他文件,请简单替换谓词(NSPredicate *pred = [NSPredicate predicateWithFormat:@"%K ENDSWITH '.txt'", NSMetadataItemFSNameKey];).

要列出所有文件,你可以简单地做,@"NOT %K.pathExtension = '.'"但我不确定这是否是最优雅的方法.建议欢迎.

看看这篇文章,获取上下文和完整的代码示例.这是查找文件的方法.

-(void)loadDocument {

    // (2) iCloud query: Looks if there are txt files in the cloud

    NSMetadataQuery *query = [[NSMetadataQuery alloc] init];
    _query = query;
    //SCOPE
    [query setSearchScopes:[NSArray arrayWithObject:NSMetadataQueryUbiquitousDocumentsScope]];
    //PREDICATE
    NSPredicate *pred = [NSPredicate predicateWithFormat:@"%K ENDSWITH '.txt'", NSMetadataItemFSNameKey];
    [query setPredicate:pred];
    //FINISHED?
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(queryDidFinishGathering:) name:NSMetadataQueryDidFinishGatheringNotification object:query];
    [query startQuery];

}
Run Code Online (Sandbox Code Playgroud)