Я провел некоторое тестирование, и это также может заинтересовать других.Решение выложено на небольшом примере.
Создайте новый проект Cocoa в XCode, перейдите к XIB и добавьте метку в окно.Мы будем использовать это для доказательства концепции.Далее кое-что делегату вашего приложения.Интерфейс:
#import <Cocoa/Cocoa.h>
@interface fileClickerAppDelegate : NSObject <NSApplicationDelegate> {
NSWindow *window;
NSTextField *fileName;
}
@property (assign) IBOutlet NSWindow *window;
@property (assign) IBOutlet NSTextField *fileName;
@end
Реализация довольно проста:
#import "fileClickerAppDelegate.h"
@implementation fileClickerAppDelegate
@synthesize window;
@synthesize fileName;
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
}
- (void)application:(NSApplication *)theApplication openFiles:(NSArray *)filenames {
[fileName setStringValue:[NSString stringWithFormat:@"Wow, even multiple files like %d :-)", [filenames count]]];
}
@end
Существует один способ следить за:
application: openFiles.
Угадай, что он делает?Он получает список файлов, переданных либо после нажатия на элемент на рабочем столе или в программе поиска, либо путем перетаскивания файлов на значок.Ему будет передан массив с именами файлов, а также путями в стиле UNIX.
Для моих тестов не требовалось задавать «Типы документов» в списке приложений или выполнять необычные действия по регистрации с помощью поиска.,Конечно, это может добавить ...
Это должно решить вашу проблему, и вы можете делать все что угодно с вашими файлами .deb (я полагаю, пакеты debian?).
Удачи!
Living
PS: Только не забудьте подключить NSTextField к элементу управления GUI ;-) В противном случае он будет работать, но ничего не отображается ....