Я потратил весь свой день на эту проблему и не смог найти решения: я разрабатываю приложение с 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?