2009-11-14 5 views
1

У меня есть приложение, которое имеет Viewer роль для файлов PDF. Хотя мое приложение не редактирует файлы PDF, оно позволяет пользователю сохранять PDF-файл (если он слишком большой или сложный для рабочего процесса, который обрабатывает мое приложение).Как определить тип записи для приложения с ролью «Просмотр»?

Когда метод SaveDocumentAs: называется, я получаю следующее предупреждение:

Попытки сохранить документ без соответствующего типа записываемого определен.

я могу избежать этого предупреждения, изменяя роль моего приложения к Editor, но не хочу, чтобы мое приложение редактора, так как приложение пытается создать пустой PDF документ при запуске.

Как избежать этого предупреждения, не объявляя мое приложение редактором для файлов PDF?

ответ

4

Если вы хотите сохранить с помощью механизма документа, вам придется иметь роль редактора - это мое понимание. Один простой способ иметь редактор роль без создания пустого документа на старте, чтобы использовать метод делегата NSApplication:

-applicationShouldOpenUntitledFile: 

Ваш ответ на этот метод делегата, конечно, будет «НЕТ».

+0

Другими словами, Randall, ваше приложение * - это редактор, он просто не может создавать новые документы. Вы также должны подклассифицировать NSDocumentController и переопределять методы, чтобы пользователь * явно * не создавал новые документы PDF (в дополнение к удалению элемента New, если ваше приложение ничего не может создать). –

+0

Я полагаю, это правда, поскольку AppleScript предоставляет базовые функции «нового документа» для всех приложений на основе документов, верно? Поэтому удалить меню было бы недостаточно. –

+0

Я удалил каждый способ для пользователя создать новый документ, но если приложение было открыто, дважды щелкнув его, он создаст новый пустой документ без названия. Я не беспокоюсь о том, что пользователь приписывает приложение, если они хотят это сделать, они достаточно хорошо знают, как это работает, чтобы не делать этого. Спасибо за ответ. – Randall

Смежные вопросы