Ответ 1
Если вы хотите увидеть пример полностью программного интерфейса iPhone/iPad, который использует разделенное представление, вы можете загрузить исходный код моего приложения Molecules.
В этом приложении я использую один делегат приложения, но я настроил интерфейс по-разному в зависимости от того, какой идиома интерфейса пользователя присутствует (iPad или iPhone). Для iPhone я создаю экземпляр контроллера корневого представления, который управляет соответствующим интерфейсом для этого устройства. Для iPad я сначала создаю UISplitViewController и присоединяю его к корневому окну, а затем создаю свой контроллер корневого представления, специфичный для iPad, и поместил его в виде подробного представления контроллера разделенного представления (с контроллером навигации, который я использую для выбора элемента как левый контроллер для просмотра с разделом).
Опять же, я рекомендую посмотреть этот проект приложения, чтобы посмотреть, как я его программным образом настраиваю. Код доступен под лицензией BSD, поэтому вы можете скопировать и вставить его в свое приложение, если хотите.
Что касается ошибок компиляции, то вам нужно будет перенести цель своего приложения в универсальное приложение, используя пункт меню "Обновить текущую цель для iPad". Как только это будет завершено, установите SDK для сборки в 3.2. Перейдите к настройкам сборки приложения и установите его "Цель развертывания" на самую раннюю ОС, которую вы хотите поддерживать с вашим приложением (при этом 3.0 - это самая дальняя часть вы можете пойти).
Наконец, вам понадобится слабая ссылка UIKit. Как это сделать, см. Мой ответ здесь. Слабая компоновка фреймворков больше не нужна, если вы строите с помощью iOS 4.2 или более поздней версии SDK. Просто проверьте наличие соответствующих классов во время выполнения, посмотрев, возвращает ли их метод +class
nil
.