Я работаю над новым приложением, которое я хочу сделать универсальным для iPhone и iPad. Я начал с мастера «Создание оконного приложения», и он создавал отдельных делегатов в группах «iPhone» и «iPad». Поскольку я уже был хорошо знаком с iPhone dev, я сделал эту часть своего проекта, и теперь я готов сделать кое-что для iPad.
Итак ... Я начал с добавления UISplitViewController к моему делегату на iPad, переключил Active SDK на 3.2, и это работает! Но когда я переключаюсь обратно на 3.1.3 и пытаюсь запустить его в симуляторе, Build and Go не работает. Для начала я вижу:
... путь ... / iPad / AppDelegate_Pad.h: 13: ошибка: ожидаемый список спецификаторов-спецификаторов до 'UISplitViewController'
Мой Базовый SDK установлен на 3.2, а Цель развертывания - 3.1.3. Я думал, что этого было достаточно. Но я также нашел в документации этот метод для условной компиляции:
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 30200
MyIPadViewController* vc;
// Create the iPad view controller
#else
MyIPhoneViewController* vc;
// Create the iPhone view controller
#endif
Так мне нужно делать это везде? Кажется, что нужно добавить очень много кода (от которого я все равно скоро избавлюсь для 4.0), поэтому я чувствую, что, должно быть, что-то делаю не так. И я даже не представляю, как это работает для таких вещей, как объявления @property или @synthesize.
tl; dr версия вопроса - я где-то пропустил настройку?