Получение NSUnknownKeyException при запуске приложения под инструментами - PullRequest
2 голосов
/ 10 сентября 2011

Я пытаюсь просканировать свое приложение (окно на основе xib) на предмет утечек памяти, но когда я запускаю приложение с помощью инструмента Утечки, оно вылетает с исключением

Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<UIWindow 0x4d20ec0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key rootViewController.'

Странно, приложение хорошо работает в симуляторе и на устройстве.

Код делегата приложения:

#import "myAppDelegate.h"

@implementation myAppAppDelegate

@synthesize window;
@synthesize myController;


#pragma mark -
#pragma mark Application lifecycle

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {    
    NSLog(@"didFinishLaunchingWithOptions");

    [window addSubview:myController.view];
    [window makeKeyAndVisible];

    return YES;
}

- (void)applicationWillResignActive:(UIApplication *)application {
}

- (void)applicationDidBecomeActive:(UIApplication *)application {
}

- (void)applicationWillTerminate:(UIApplication *)application {
=}

#pragma mark -
#pragma mark Memory management

- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application {
}


- (void)dealloc {
    [window release];
    [super dealloc];
}

@end

Ответы [ 2 ]

0 голосов
/ 18 сентября 2011

Эта ошибка обычно возникает, если в Интерфейсном Разработчике есть свойство, которое установлено неправильно или больше не существует (ищите предупреждения в Интерфейсном Разработчике).

Относительно того, почему происходит сбой только в Instruments, может быть потому, что по умолчанию он запускается против вашей сборки выпуска, и могут быть некоторые оптимизации, которые менее щадящие для ошибочных конфигураций.

0 голосов
/ 13 сентября 2011

Работает ли это в обычном симуляторе или на устройстве без проблем?

В противном случае вы внедрили пользовательское корневое представление, т. Е. Использовали другой стартовый NIB?

было бы лучше, если бы вы загрузили свой код делегата приложения

...