Ответ 1
"Лучший способ" создать такое приложение, скорее всего, будет зависеть от того, что именно нужно сделать для вашего приложения. Некоторые способы будут лучше других, в зависимости от любого специального поведения.
Но вполне возможно использовать единую универсальную раскадровку в Xcode 6, которая использует классы размера и все еще нацелена на iOS 7, как iPhone, так и iPad, используя UISplitViewController
. Я успешно это сделал. Это потребовало большой работы, чтобы гарантировать, что она работает правильно и выглядела последовательной в iOS 7 и 8. Вы должны быть немного осторожны, когда дело доходит до выполнения различных новых адаптивных сегментов, так как это огромная разница между iOS 7 и 8 Например, при обнаружении, когда у вас есть popover, потребуется некоторая работа для двух разных ОС, для обработки разворачиваемых секций потребуется некоторая специальная обработка и т.д. Это потребует большого количества тестирования. Выделенное время для тестирования iPhone 6 Plus - в ландшафте он покажет как мастер, так и детали на экране, но вы можете контролировать это.
Пройдя этот опыт, я бы много реализовал единый раскадровки, а не две раскадровки, по одной для каждой ОС, и определенно держаться подальше от создания раскадровки для каждой ОС, а затем для каждый тип устройства.
Вы хотите прочитать в Руководство по совместимости SDK, чтобы узнать, как определить доступность API. Если вы реализуете API, который не существует в iOS 7, приложение будет аварийно завершено, поэтому вам нужно будет запускать этот код только в том случае, если эта функция существует для ОС, на котором запущено приложение. Например, вы можете использовать новый API UIBlurEffect
, но этого не существует в iOS 7. Получите понимание того, что означает устаревание, и знание того, что изменилось в iOS 8, очень поможет. Например, API-интерфейсы вращения устаревают в пользу наборов признаков класса класса, но они недоступны в iOS 7, поэтому вам нужно будет продолжать использовать устаревший API вращения.
Также ознакомьтесь с некоторыми видео WWDC с этого года. У них есть несколько видеороликов, в которых обсуждаются новые адаптивные секреты и универсальные раскадровки. Обратите внимание, что эти раскадровки AVER обратно совместимы с iOS 7, но есть некоторые классы размеров, которые не доступны на iOS 7. См. этот вопрос и ответ, который я предоставил для больше информации. Видеоролики WWDC из предыдущих лет также обсуждают, как можно поддерживать несколько ОС, прогрессивное улучшение и т.д.
И, конечно, когда у вас есть вопросы/проблемы, Qaru - отличный ресурс. Многие вопросы, которые я опубликовал в последние несколько месяцев, точно связаны с этой темой, как изменить поведение UISplitViewController
, получить поддержку для обеих ОС, используя единый раскадровки и новые адаптивные варианты и т.д. Вы можете пожелать прочитать их, чтобы получить представление о том, что вы можете ожидать при разработке приложения таким же образом.