Список файлов, доступных в iCloud - PullRequest
1 голос
/ 27 октября 2011

Есть ли способ перечислить все файлы (документы + данные), которые у меня есть в iCloud (с Mac)?Я считаю, что объект NSMetadataQuery может помочь мне в этом, но есть ли какой-нибудь пример кода?

Спасибо!

1 Ответ

6 голосов
/ 27 октября 2011

Вот пример кода для запроса txt-файлов в папке iCloud.Если вы хотите искать другие файлы, просто замените предикат (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];

}
...