сбой приложения на ipod touch, но не на эмуляторе iphone - PullRequest
1 голос
/ 13 апреля 2011

Я следовал учебному руководству Apple «Ваше первое приложение для iOS» шаг за шагом, и оно отлично работает на эмуляторе iPhone.

Но когда я пытаюсь развернуть его на ipod touch,приложение вылетает.

вот проблемный метод:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{

    MyViewController *acontroller = [[MyViewController alloc] initWithNibName:@"MyViewController" bundle:[NSBundle mainBundle]];
    [self setMyViewController:acontroller];

    [[self window] setRootViewController:[self myViewController]];    // crash here

    [self.window makeKeyAndVisible];

    [acontroller release];

    return YES;
}

А вот и сообщение об ошибке:

011-04-13 18:07:53.730 ios_HelloWorld[865:207] *** -[UIWindow setRootViewController:]: unrecognized selector sent to instance 0x119520
2011-04-13 18:07:53.754 ios_HelloWorld[865:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[UIWindow setRootViewController:]: unrecognized selector sent to instance 0x119520'
2011-04-13 18:07:53.770 ios_HelloWorld[865:207] Stack: (
    843631901,
    849079828,
    843635709,
    843131673,
    843094080,
    11801,
    857435720,
    857434728,
    857767424,
    857765436,
    857763988,
    875472868,
    843380011,
    843377695,
    857431048,
    857424432,
    11553,
    11476
)
terminate called after throwing an instance of 'NSException'

Считайте, что я выполнил пошаговое руководство пошаг (и заново сделал это самостоятельно), и он всегда падает на этом месте.

Есть идеи?

спасибо

KiTe

Ответы [ 3 ]

3 голосов
/ 13 апреля 2011
1 голос
/ 13 апреля 2011

Метод setRootViewController доступен только в iOS 4.0 и выше.

1 голос
/ 13 апреля 2011

Посмотрите документацию, желаемое свойство недоступно в этой версии iOS. Вам придется обновить или встроить какой-то условный обходной путь.

rootViewController Вид корня контроллер для окна.

@ собственности (неатомический, сохранить) UIViewController * rootViewController Обсуждение Контроллер root view обеспечивает представление содержимого окно. Назначение контроллера вида это свойство (либо программно или используя Interface Builder) устанавливает вид контроллера представления как вид содержимого окна. Если окно имеет существующую иерархию представлений, старые взгляды удаляются до новые установлены.

Значение этого свойства по умолчанию: ноль.

Доступность Доступно в iOS 4.0 и позже.

...