Мой первоначальный ответ, хотя он работал с Xcode 8 по какой-то странной причине, которая не стоит объяснять, больше не работает с Xcode 9 в старом проекте конкретного клиента. Поэтому я использовал альтернативный рабочий процесс, который действительно не так уж плох.
Для работы над этим проектом я открываю его в как старшем Xcode, который может построить его с помощью требуемого SDK, так и в недавнем Xcode. Я положил старое окно Xcode в фоновом режиме и выполняю свою работу в недавнем Xcode. Когда я готов протестировать изменения, я делаю файл>Сохранить все (⌥⌘S), а затем переключиться на старый Xcode и построить (⌘B). Когда сборка будет сделано, я переключаюсь обратно к недавнему Xcode и продукта>исполняющее действие>Запуск без создания (^⌘R). Поскольку формат файла dSYM не изменился, точки останова работают должным образом.
Преимущества, которые не Взлом Xcode не требуется, и единственное, что мне нужно помнить о старом Xcode (Xcode 3 в моем случае), к счастью: ⌘B.
Одно маленькое предупреждение: В Цель данного конкретного проекта, в Строительства Настройки, он имеет обычай создавать продукты Путь. Это типично для приложений Mac, которые были созданы много лет назад. Чтобы гарантировать, что оба ваших Xcodes работают с одним и тем же продуктом, если ваш старый и недавний Xcodes ограничивают версию, которая изменила стандартный путь Build Products Path, может потребоваться установить Путь готовых продуктов.
Возможно, рабочий процесс можно сделать еще проще, написав инструменты командной строки xcodebuild
и xcode-select
, но это достаточно хорошо. С объявлением Apple в WWDC этого года о поддержке 32-разрядных приложений Mac, уходящих в течение следующих двух лет, у моего клиента в любом случае есть жесткие решения.
Я могу подтвердить это для iOS. Имейте в виду, если вы хотите построить для симулятора, вам нужно будет выполнить те же действия для 'iPhoneSimulator.platform'. – dcow
Это помогает мне построить версию для iOS 9.3 вместо iOS 10 с Xcode 8. Спасибо! – jfmg
Спасибо, это действительно помогает. Интересно, однако, при этом вы не можете установить цель развертывания на вкладке info на 10.1 из настоящего, поэтому вам нужно ввести его –