Поздравляю с первым вопросом :-) Как вы загружаете перья? Хорошая идея разбить интерфейс на несколько файлов. Я обычно использую отдельный кончик для каждого контроллера и загружаю их, используя инициализатор initWithNibName:bundle:
. Поскольку вы указали здесь имя пера, вы можете легко настроить поведение загрузки.
Если вы загружаете кончики с помощью контроллера панели вкладок, у вас, вероятно, есть все вкладки в одном кончике. Я думаю, что я бы разбил вкладки на отдельные кончики и загрузил бы их программно:
id tab1 = [[UIViewController alloc] initWithNibName:@"Tab1" bundle:nil];
id tab2 = [[UIViewController alloc] initWithNibName:@"Tab2" bundle:nil];
id tab3 = [[UIViewController alloc] initWithNibName:@"Tab3" bundle:nil];
[tabBarController setViewControllers:[NSArray arrayWithObjects:
tab1, tab2, tab3, nil]];
И так как теперь у вас есть контроль над именами перьев, вы можете легко определить версию прошивки и загрузить правильный перо:
id tab1 = [[UIViewController alloc] initWithNibName:
[self nibNameForCurrentFirmware] bundle:nil];
Что касается самого определения версии прошивки, думаю, вы могли бы использовать [UIDevice systemVersion] .