Знать последние использованные документы в какао - PullRequest
3 голосов
/ 10 мая 2011

Есть ли способ составить список последних использованных файлов, используя функции какао (или target-c)?

Я хотел бы иметь что-то вроде "последних документов"

Спасибо за вашу помощь.

С уважением,

1 Ответ

8 голосов
/ 10 мая 2011

Используйте -[NSDocumentController recentDocumentURLs]. Он возвращает массив URL-адресов, представляющих местоположения документов, недавно открытых вашим приложением. <Ч /> Редактирование на основе комментария: В этом случае вам необходимо использовать API Launch Services. Например:

- (NSArray *)globalRecentDocumentsURLs {
    LSSharedFileListRef recentDocsFileList;
    NSArray *recentDocsFiles;
    NSMutableArray *recentDocsURLs = nil;
    UInt32 seed;

    recentDocsFileList = LSSharedFileListCreate(NULL,
        kLSSharedFileListRecentDocumentItems, NULL);
    if (! recentDocsFileList) return nil;

    recentDocsFiles = (NSArray *)LSSharedFileListCopySnapshot(recentDocsFileList,
        &seed);

    if (recentDocsFiles) {
        recentDocsURLs = [NSMutableArray array];

        for (id file in recentDocsFiles) {
            CFURLRef fileURL = NULL;
            LSSharedFileListItemResolve((LSSharedFileListItemRef)file, 0,
                &fileURL, NULL);
            if (fileURL) [recentDocsURLs addObject:[(id)fileURL autorelease]];
        }

        [recentDocsFiles release];
    }

    CFRelease(recentDocsFileList);

    return recentDocsURLs;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...