ошибка при запуске приложения под iPad вместо iPhone в xcode 4 - PullRequest
1 голос
/ 09 января 2012

У меня есть проект, над которым я работаю.Это был проект только для iPhone, но недавно я узнал, что мне нужно сделать его доступным и для iPad.Теоретически, я должен быть в состоянии вставить некоторые оператор if для переключения между кодом iPhone / iPad, но я столкнулся с небольшой проблемой.На начальном этапе я получаю печально известную ошибку:

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

loginButton указывает на UIButton, и все в моем Login_iPad.xib правильно связано.

Я уверен, что яЯ пропускаю что-то маленькое, но любая помощь будет ОЧЕНЬ признательна.

Спасибо!

Вот часть моего кода в AppDelegate - didFinishLaunchingWithOption:

if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {
    UIViewController *rootView = [[Login alloc] initWithNibName:@"Login" bundle:nil];
    self.navController = [[UINavigationController alloc] initWithRootViewController:rootView];
} else {
    UIViewController *rootView = [[Login alloc] initWithNibName:@"Login_iPad" bundle:nil];
    self.navController = [[UINavigationController alloc] initWithRootViewController:rootView];
}

ОБНОВЛЕНИЕ: Если я удаляю все розетки (включая точку просмотра), я, конечно, получаю эту ошибку:

loaded the "Login_iPad" nib but the view outlet was not set

Но, если я добавлю даже только розетку для видаЯ получаю это:

this class is not key value coding-compliant for the key view

Не имеет смысла для меня.У меня класс XIB установлен на тот же класс, что и iPhone XIB.Но я знаю, что что-то упускаю из виду.

Кажется, я не могу связать НИЧЕГО при работе в качестве приложения для iPad.Даже не вид ... или он выбрасывает эту ошибку.

Ответы [ 2 ]

3 голосов
/ 10 января 2012

Хорошо ... не уверен, почему это решило мою проблему.Но я удалил значение «Основной интерфейс» для iphone и ipad в сводке проекта.И все прошло отлично.Очень странно.

Я не знаю, если это что-то изменило, но я также изменил это в моем приложении applelegate:

UIViewController *rootView;
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) {
    rootView = [[Login alloc] initWithNibName:@"Login_iPad" bundle:nil];
} else {
    rootView = [[Login alloc] initWithNibName:@"Login" bundle:nil];
}
self.navController = [[UINavigationController alloc] initWithRootViewController:rootView];
0 голосов
/ 09 января 2012

Убедитесь, что вы проверили цель / Сводку / Устройства и установите ее на универсальную.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...