Приложение на основе документа, окно предварительной инициализации (введите серийный номер, купите, пробную версию)

StackOverflow https://stackoverflow.com/questions/2553259

Вопрос

Мне нужно создать несколько окон перед загрузкой NSDocument или создать окно, которое блокирует окно NSDocument и верхнее меню.

Я попробовал несколько решений, но они не сработали.

  1. модальное окно, одно за другим.были некоторые проблемы с Async URLConnection и некоторые другие проблемы с моим содержимым NSDocument.

  2. Я создал собственный файл MainMenu.xib без меню, который открывает мои окна предварительной инициализации.здесь я обнаружил некоторые другие проблемы: когда открывается файл (связанный с моим приложением), инициализируется окно документа.Здесь я попытался создать подкласс NSDocumentController, но не нашел способа приостановить «открытый документ».(я хочу, чтобы документ в любом случае открывался, но только после закрытия окон предварительной инициализации).

Так как же правильно это сделать?

Это было полезно?

Решение 2

Итак, правильный ответ — реализовать:
* приложение: openFiles:
* ПриложениеShouldOpenUntitledFile:

и реализовать собственное создание документов.вот так это сработало для меня.

MyDocument* document = [[MyDocument alloc] 
                             initWithContentsOfURL:fileURL 
                                            ofType:[fileName pathExtension] 
                                             error:nil
                       ];
  if(document)
  {
     [[NSDocumentController sharedDocumentController] addDocument:document];
     [document makeWindowControllers];
     [document showWindows];
 }

конечно, вам нужно написать код обработки ошибок.

Другие советы

Осуществлять applicationShouldOpenUntitledFile: в вашем делегате приложения для возврата NO если пользователю сначала нужно пройти через диалоговое окно «еще не зарегистрирован».

В методах действий для кнопок «Пробная версия» и «Подтвердить регистрацию» самостоятельно создайте безымянный документ (отправив необходимое сообщение контролеру документов).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top