-1
我想獲取最近訪問的文件夾列表。如何實現它?如何在Objective-C中獲取最近的文件夾歷史記錄?
我想獲取最近訪問的文件夾列表。如何實現它?如何在Objective-C中獲取最近的文件夾歷史記錄?
Finder
存儲從Recent Folders
菜單中的項目:
~/Library/Preferences/com.apple.finder.plist
此信息並不意味着其他應用程序,所以該格式可以更改,恕不另行通知。
不過,您可以使用NSUserDefaults
或CFPreferences
檢索列表。
以下代碼適用於優勝美地。我沒有包含任何錯誤檢查:
//Read the latest changes.
CFPreferencesAppSynchronize(CFSTR("com.apple.finder"));
//Retrieve the folder list.
NSArray* folderList = (__bridge_transfer NSArray*)
CFPreferencesCopyAppValue(CFSTR("FXRecentFolders"), CFSTR("com.apple.finder"));
for (NSDictionary* currentFolder in folderList) {
//Print name.
NSLog(@"Name: %@", [currentFolder objectForKey:@"name"]);
//Print path.
NSURL* folderURL = [NSURL URLByResolvingBookmarkData:[currentFolder objectForKey:@"file-bookmark"]
options:NSURLBookmarkResolutionWithoutUI |
NSURLBookmarkResolutionWithoutMounting
relativeToURL:nil
bookmarkDataIsStale:nil
error:nil];
NSLog(@"Path: %@", [folderURL path]);
}
謝謝〜它運作良好 –
哪個部分很難?您只需創建一個文件路徑數組,然後將其傳遞給菜單。 –
如果可以通過代碼獲取最近的文件夾歷史記錄? –