Use -[NSDocumentController recentDocumentURLs]. It returns an array of URLs representing the locations of documents recently opened by your application.
Edit based on comment: In this case, you need to use the launch launcher API. For instance:- (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;
}
user557219
source
share