iOS11 скомпилировал приложение, предназначенное для iOS10

Как я могу скомпилировать приложение в последнем Xcode, нацеленном на более низкую версию iOS, скажем, iOS10 или iOS9? Я проверил, и у меня есть только базовый SDK 11 в моем Xcode. Как я могу сделать код совместимым с более низкой версией iOS?

Оставьте SDK на iOS 11, но настройте целевую систему развертывания приложения (находящуюся в «настройках проекта», а не «целевые настройки»), чтобы быть iOS 10, и вы в основном выполняете. Вам просто нужно избегать специфического API IOS 11 (и / или обернуть любой API- if #available(iOS 11, *) { ... } конструкция или другие эквивалентные шаблоны).

Таким образом, вы можете наслаждаться преимуществами последнего SDK для устройств, которые его используют, но вы можете относительно легко поддерживать более старые версии iOS. Количество усилий, которое требуется (как для кодирования, так и для тестирования), увеличивается в зависимости от того, как далеко вы продвигаетесь в поддержке старых версий iOS. Но если вы вернетесь только к одной или двум крупным версиям iOS, это, как правило, не так уж плохо.