проблема при установке приложения на iphone, созданного с помощью xcode4 - PullRequest
2 голосов
/ 13 апреля 2011

hii каждые

Я создал один пример проекта (hello world) в xcode4, но не могу установить его на iphone (ios 3.1.3), хотя я выбрал цель развертывания 3.1.3 (все правильно подписано)

я получаю подписку в консоли при установке 2011-04-13 13: 01: 37.868 prjTest [244: 207] * - [UIWindow setRootViewController:]: нераспознанный селектор отправленк экземпляру 0x119cd0 2011-04-13 13: 01: 37.885 prjTest [244: 207] Завершение работы приложения из-за необработанного исключения «NSInvalidArgumentException», причина: '** - [UIWindow setRootViewController:]:нераспознанный селектор отправлен в экземпляр 0x119cd0 '2011-04-13 13: 01: 37.902 prjTest [244: 207] Stack: (843263261, 825818644, 843267069, 842763033, 842725440, 9545, 843742792, 843741800, 84407448, 84407, 8440, 84407, 840, 84407, 840, 8440, 8440, 8440, 8440, 8440, 8440, 8440, 8440, 8440, 84, 8407, 840, 8440, 840, 840, 840, 840, Ул., тел. 844074496, 8440, 84, 84, 840, 840, 840, 84, 8, 8407, 8, 840, 840, 84, 8, 8, 8, 87, 8, 8, 0, 8, 8, 87, 8, 8, США, 844074496, 844074496, 844074496, 844074488, Нераспознанный селектор отправлен в экземпляр 0x119cd0'843011371, 843009055, 843738120, 843731504, 9401, 9324) завершить вызов после выброса экземпляра 'NSException'

Ответы [ 2 ]

7 голосов
/ 06 июня 2011

Что вы хотите сделать, это заменить:

self.window.rootViewController = self.mainViewController;

с

[self.window addSubview:self.mainViewController.view];

Существует несколько способов проверить версию системы на устройстве. Я читал в другом месте, что Apple не делает это особенно легко, поскольку они ориентированы на последнюю и лучшую версию, поэтому нет канонического метода, хотя многие разработчики разработали свои собственные решения.

Одно из самых лаконичных слов, с которыми я столкнулся:

if( [[[UIDevice currentDevice] systemVersion] compare:@"4.0" options:NSNumericSearch] == NSOrderedAscending )
     [self.window addSubview:self.mainViewController.view];
else
     self.window.rootViewController = self.mainViewController;
6 голосов
/ 13 апреля 2011

Я полагаю - [UIWindow setRootViewController:] был добавлен в версии 4.0, поэтому вы не можете использовать это в 3.1.3.Вместо этого вы можете использовать addSubView:

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