Как получить имя файла при использовании Launch Services - PullRequest
0 голосов
/ 12 декабря 2011

Я регистрирую свое приложение с:

NSString *self_id=[[NSBundle mainBundle] bundleIdentifier];

CFStringRef cfString;

cfString = UTTypeCreatePreferredIdentifierForTag(
                                                 kUTTagClassFilenameExtension,
                                                 CFSTR("fdp"),
                                                 kUTTypeData);

OSStatus a = LSSetDefaultRoleHandlerForContentType((CFStringRef)cfString,kLSRolesViewer,(CFStringRef)self_id);    

Но с другой стороны, как я могу получить имя файла, которое программа поиска отправляет в мое приложение? Какой механизм я должен установить для получения имени файла? Есть ли документ по этой проблеме?

1 Ответ

0 голосов
/ 12 декабря 2011

Если ваше приложение основано на документе, контроллер документов автоматически создаст объект документа для каждого открытого файла. Вам не нужно ничего делать во время выполнения для обработки файлов; просто реализуйте свой класс документа и объявите правильные вещи в вашем Info.plist, как описано в Обзор приложений на основе документов .

Если ваше приложение не основано на документе, вам необходимо создать объект, который будет делегатом объекта приложения. В этом объекте ответьте на сообщение application:openFiles: .

...