根据评论进行编辑:在这种情况下,您需要使用启动服务 API。例如:
有没有办法使用 cocoa(或 objective-c)函数列出上次使用的文件?
我想要类似"最近的文件"的东西
感谢您的帮助。
问候
使用 -[NSDocumentController recentDocumentURLs]
.它返回一个 URL 数组,这些 URL 表示应用程序最近打开的文档的位置。
根据评论进行编辑:在这种情况下,您需要使用启动服务 API。例如:
- (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;
}