Почему [FIFinderSyncController defaultController].selectedItemURLs дают мне максимум 10 элементов?
Я делаю плагин Finder, но когда я запрашиваю выбранные файлы, метод дает мне максимум 10 элементов.
[FIFinderSyncController defaultController].selectedItemURLs
ОБНОВЛЕНИЕ: я получил половину решения... Я использую ScriptingBridge, чтобы получить доступ к Finder и получить выбранные элементы самого переднего окна. (для песочницы требуются: com.apple.security.teilitary-exception.apple-events). Странно то, что через некоторое время появляется контекстное меню, даже если меню вашего приложения "готовит" свои элементы для показа. Ваши предметы появляются после того, как вы все равно их создали. Единственная проблема заключается в том, что ScriptingBridge не будет выполняться, если внутри окна Finder есть контекстное меню или модальный объект. Он завершает выполнение, только если вы закрываете меню. Я могу получить только выбранные элементы внутри menuForMenuKind с помощью FIFinderSyncController, но я могу получить все элементы после запуска действия меню с помощью ScriptingBridge. Моему приложению важно знать, какие пункты я выбрал, прежде чем показывать меню с соответствующими действиями, но сейчас я должен быть доволен этим решением.
1 ответ
Для следующего кода:
- (NSMenu *)menuForMenuKind:(FIMenuKind)whichMenu
{
NSArray *selectedPaths = [self getSelectedItems];
// ...
return ...
}
- (NSArray *)getSelectedItems
{
NSMutableArray *selectedItems = [[NSMutableArray alloc] init];
for (NSURL *selectedItemURL in [[FIFinderSyncController defaultController] selectedItemURLs]) {
[selectedItems addObject:selectedItemURL.path];
NSLog(@"FinderSync selected item at path '%@'", selectedItemURL.path);
}
return selectedItems;
}
И для следующего каталога:
Я получаю следующий вывод при выборе всех файлов в каталоге и открытии контекстного меню:
11/11/15 7:52:24.432 AM MyFinderSync[28375]: FinderSync selected item at path '/Users/Mugen/Workspace/11 Files/1.txt'
11/11/15 7:52:24.432 AM MyFinderSync[28375]: FinderSync selected item at path '/Users/Mugen/Workspace/11 Files/2.txt'
11/11/15 7:52:24.432 AM MyFinderSync[28375]: FinderSync selected item at path '/Users/Mugen/Workspace/11 Files/3.txt'
11/11/15 7:52:24.432 AM MyFinderSync[28375]: FinderSync selected item at path '/Users/Mugen/Workspace/11 Files/4.txt'
11/11/15 7:52:24.433 AM MyFinderSync[28375]: FinderSync selected item at path '/Users/Mugen/Workspace/11 Files/5.txt'
11/11/15 7:52:24.433 AM MyFinderSync[28375]: FinderSync selected item at path '/Users/Mugen/Workspace/11 Files/6.txt'
11/11/15 7:52:24.433 AM MyFinderSync[28375]: FinderSync selected item at path '/Users/Mugen/Workspace/11 Files/7.txt'
11/11/15 7:52:24.433 AM MyFinderSync[28375]: FinderSync selected item at path '/Users/Mugen/Workspace/11 Files/8.txt'
11/11/15 7:52:24.433 AM MyFinderSync[28375]: FinderSync selected item at path '/Users/Mugen/Workspace/11 Files/9.txt'
11/11/15 7:52:24.434 AM MyFinderSync[28375]: FinderSync selected item at path '/Users/Mugen/Workspace/11 Files/10.txt'
11/11/15 7:52:24.434 AM MyFinderSync[28375]: FinderSync selected item at path '/Users/Mugen/Workspace/11 Files/11.txt'