Главное окно не работает должным образом на Snow Leopard

Мое приложение, разработанное в Xcode 4.5 для Mountain Lion, безупречно работает на Lion и ML.

Мой тестировщик Snow Leopard сообщает, что при запуске приложение отключается. Под этим он подразумевает, что ни один из элементов управления не активен, а красный, желтый, зеленый "светофор" неактивен. Если открывается другое приложение, которое покрывает мое приложение, то при перемещении приложения, на которое оно распространяется, какого-либо элемента управления или его части нет.

Панель меню отзывчива, и моя панель настроек работает. Приложение можно закрыть из меню, я не знаю, можно ли его закрыть с клавиатуры.

Другое приложение, которое использует тот же серийный код, работает отлично.

Мне нужна помощь в составлении плана для его решения. Я не знаю, как это отследить.

1 ответ

Решение

По сути, проблема в том, что вы ожидаете, что данные будут в NSUserDefaults. При первом запуске NSUserDefaults возвращает nil для ключей, к которым вы обращаетесь, а передача этого результата nil через более поздний код приводит к возникновению исключений. Решение состоит в том, чтобы зарегистрировать значения по умолчанию в NSUserDefaults при запуске приложения:

@implementation AppController
+ (void)initialize
{
    NSDictionary *defaultValues = @{@"SomeKey" : @"DefaultValue"};
    [[NSUserDefaults standardUserDefaults] registerDefaults:defaultValues];
}
@end
Другие вопросы по тегам