Главное окно не работает должным образом на 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