По моему опыту, при написании универсальных приложений нужно помнить 3 вещи:
1: размер.Ваше приложение может легко распухнуть, если вы локализуете все эти xib-файлы или создаете отдельные классы для каждого устройства, или ваши файлы методов могут легко стать громоздкими и трудными для работы.Кроме того, увеличение размера вашего пакета может привести к превышению предела в 20 МБ для приложений, загружаемых через 3G, что приведет к отчуждению небольшой части потенциальных покупателей.
2: Тестирование.Теперь ваше приложение требует тестирования не только на старых iPhone, но и на старых iPad.Предполагая, что вам нужна обратная совместимость, нужно распространять множество сборок!Если вы просто хотите сохранить поддержку 4.x и более поздних версий, симулятор всегда есть, но даже в этом случае симулятор дурацкий по сравнению с реальным устройством.Apple пришлось изменить несколько драйверов и удалить некоторые функции, чтобы запустить этот симулятор, и даже тогда это в основном приложение для Mac (так что у него есть полный доступ к более мощному процессору, графическому процессору и т. Д.).
3: Пользовательский интерфейс.Когда iPhone был впервые представлен и магазин приложений был запущен с iPhone OS 2.0, крошечный экран iPhone создавал некоторые проблемы дизайна и большие переходы для разработчиков Mac, которые привыкли к 27-дюймовым iMac.Затем появился iPad и снова все изменилось!Пользователи iPhone и iPod, как правило, хотят иметь более уменьшенный и эргономичный пользовательский интерфейс, не жертвуя функциями, тогда как толпа iPad, как правило, хочет, чтобы в них были встроены функции, но функции, которые легко доступны на минимально возможном количестве экранов или мастеров.
Тем не менее, это опасности написания универсальных двоичных файлов, и это никоим образом не должно вас сдерживать.Универсальные двоичные файлы, как правило, делают большинство людей счастливыми, и хотя в основном они берут вдвое больше работы, в конечном итоге они часто стоят того.... Может быть, мистер Вендерлих скоро сделает это ...