NSPanel с NSWindowController отображается в xcode, но не в заархивированном приложении

У меня проблема в том, что мой PreferencePanel появляется только в том случае, если я запускаю его из Xcode в режиме выпуска и отладки. Но если я запускаю заархивированное .app своего приложения, ничего не происходит, если я нажимаю кнопку Preferences. При запуске из Xcode, если я открою панель pref, закрою ее и подожду несколько секунд, а затем снова попробую эту команду, также ничего не происходит, панель не отображается. Я использую класс NSWindowController, называемый «PreferenceController», и загружаю файл пера в метод -(id)init с помощью return [super initWithWindowNibName:@"Preferences"];. Владелец файла xib установлен на «PreferenceController», а свойство окна связано с панелью в xib.

В моем AppController у меня есть метод -(IBAction)showPreferencePanel:(id)sender для открытия панели.

@interface AppController : NSObject {
    PreferenceController *_preferenceController;
}

…

- (IBAction)showPreferencePanel:(id)sender
{
    if (!_preferenceController) {
        _preferenceController = [[PreferenceController alloc] init];
    }

    [_preferenceController showWindow:self];
}

AppController создается в mainMenu.xib.

Спасибо за вашу помощь.


person Andreas Pfohl    schedule 28.06.2013    source источник
comment
Может ли это быть связано с этой проблемой? stackoverflow.com/questions/13618382/   -  person Keith Smiley    schedule 29.06.2013
comment
Я так пробовал, никаких изменений. С АРК и без.   -  person Andreas Pfohl    schedule 29.06.2013
comment
Я узнал, в чем проблема. Я разработал приложение только для NSStatusItem, и для параметра панели HideOnDeactivate было установлено значение ON. Если я сейчас открою панель, она автоматически потеряет фокус и исчезнет. Спасибо за помощь.   -  person Andreas Pfohl    schedule 29.06.2013
comment
Вы можете добавить и принять это как ответ   -  person Keith Smiley    schedule 29.06.2013
comment
хорошо, я должен ждать 7 часов :)   -  person Andreas Pfohl    schedule 29.06.2013


Ответы (1)


Я узнал, в чем проблема. Я разработал приложение только для NSStatusItem, и для параметра панели HideOnDeactivate было установлено значение ON. Если я сейчас открою панель, она автоматически потеряет фокус и исчезнет. Спасибо за помощь.

person Andreas Pfohl    schedule 29.06.2013