Я потратил весь свой день на эту проблему и не смог найти решение: Я разрабатываю приложение с iOS 6.1 SDK, и весь дизайн зависит от интерфейса iOS 6.1. Вчера я обновил свой телефон до iOS 7, и после завершения обновления ранее развернутое приложение, которое вернулось из резервной копии, выглядело и работало так же, как и раньше (на iOS 6.1); все было отлично. Однако мне пришлось обновить Xcode до версии 5, поэтому я могу продолжить развертывание последовательных отладочных версий на моем устройстве iOS 7 во время разработки. Перед обновлением до Xcode 5 я выполнил резервное копирование пакета iPhoneOS6.1.sdk из внутренней папки Xcode; затем обновлен до Xcode 5, а затем поместил пакет iPhoneOS6.1.sdk обратно в свою папку рядом с iOS 7 SDK, который поставляется с установкой Xcode 5. Я переключил свой SDK проекта на iOS 6.1, который появился в базовом списке селекторов SDK, и удостоверился в построителе интерфейса, что все мои раскадровки /XIB настроены на сборку как iOS 6.1.
Однако, когда я разворачиваю приложение на свой телефон, он выглядит как дерьмо, как показано с элементами интерфейса iOS 7. Если я использую устройство с установленным iOS 6.1, все выглядит нормально; похоже, что XCode не проклинает мой выбор базового SDK и связывает приложение с iOS 7, если я захочу отлаживать устройство iOS 7.
Как я могу заставить Xcode развернуть те же связанные с 6.1 элементы на всех устройствах, независимо от установленной версии iOS?