Услуги Портфолио Контакты БлогНовости +7 (800) 511‑32‑27 Обсудить проект
Облако

Apple выпустила Xcode 27.2 RC: iOS-проекты переходят на JSON-формат .xcproj

21 октября 2026·5 мин чтения
Xcode 27.2iOS-разработка
Apple выпустила Xcode 27.2 RC: iOS-проекты переходят на JSON-формат .xcproj

19 октября Apple выпустила Xcode 27.2 RC (сборка 27B48) — финальную предрелизную версию. Главное изменение для iOS-команд — JSON-формат проектов .xcproj, который заменяет старый project.pbxproj: диффы читаются, merge-конфликтов меньше, а ИИ-агенты правят проект без риска его сломать. Новые проекты создаются в нём по умолчанию.

Для команд, которые ведут разработку приложений под iOS, это заметное изменение в повседневной работе с Git: конфликты в файле проекта — одна из самых частых причин сломанной сборки после слияния веток. О том, из чего вообще состоит стек iOS-разработки, мы уже писали в блоге.

Ниже — что именно изменилось в Xcode 27.2, как переключить существующий проект и что проверить в CI, если ваша команда занимается разработкой мобильных приложений для iPhone и iPad.

Что Apple выпустила 19 октября

По данным страницы Apple Developer Releases, 19 октября вместе с Xcode 27.2 RC вышли кандидаты в релиз iOS 27.2, iPadOS 27.2, macOS 27.2, tvOS 27.2, visionOS 27.2 и watchOS 27.2. RC — последняя предрелизная сборка перед публичной версией. MacRumors ожидает публичный выход 27.2 до конца октября.

Новый формат проектов появился ещё в бета-версиях Xcode 27.2 в сентябре, но с выходом RC его стоит планировать уже сейчас, а не «когда-нибудь». Формулировка из release notes Apple: Xcode теперь поддерживает JSON-формат проектов, который «более читаемый, удобный для слияния и проще для редактирования ИИ-агентами».

Чем .xcproj отличается от pbxproj

Старый project.pbxproj — это property list в ASCII-формате, доставшийся Xcode ещё от NeXT. Объекты в нём ссылаются друг на друга через непрозрачные идентификаторы, поэтому даже добавление одного файла меняет файл проекта сразу в нескольких местах. Когда два разработчика параллельно добавляют файлы, Git почти гарантированно выдаёт конфликт, который приходится разбирать вручную.

  • Дерево вместо плоского списка. По разборам разработчиков, граф сборки в .xcproj устроен как дерево, повторяющее навигатор Xcode.
  • Имена и пути вместо ID. Перекрёстные ссылки задаются понятными именами, а не 24-символьными идентификаторами.
  • Файл сам указывает свои таргеты. Принадлежность к таргету описывается у файла, а не перечислением файлов внутри таргета — добавление файла в диффе выглядит как одна логическая правка.
  • Та же модель проекта. Меняется только представление на диске, а не то, как Xcode понимает проект, поэтому переход не требует перестраивать схемы и настройки сборки.

Совместимость и инструменты

Существующие проекты автоматически не конвертируются: оба формата поддерживаются параллельно. Переключиться можно вручную — в File inspector выбранного проекта, в поле Project Format. Apple указывает, что проекты в .xcproj открываются и в более ранних версиях Xcode 27, то есть минимальная планка для команды и CI-раннеров — Xcode 27.

Вместе с форматом Apple опубликовала на GitHub открытую Swift-библиотеку xcode-project-format для чтения, записи и изменения project.xcproj, а также CLI-утилиту xcprojformatter. Библиотека пока на ранней стадии (версия 0.1.0), требует Swift 6.1+ и распространяется под лицензией Apache 2.0 с Runtime Library Exception.

Сторонняя экосистема догоняет: на момент выхода RC поддержку нового формата нужно отдельно проверять в CocoaPods (гем xcodeproj), fastlane, генераторах проектов Tuist и XcodeGen и в собственных скриптах сборки, которые правят файл проекта.

Что сделать iOS-команде до перехода

  1. Обновите всех до Xcode 27. Разработчики и CI-раннеры на Xcode 26 и старше проект в новом формате не откроют.
  2. Проверьте инструменты, которые трогают файл проекта: CocoaPods, fastlane-лейны с изменением версии и настроек, Tuist или XcodeGen, самописные скрипты.
  3. Конвертируйте в отдельной ветке и прогоните полный пайплайн — сборку, тесты, подпись, выгрузку в TestFlight. Если что-то сломалось, достаточно откатить изменения в Git.
  4. Влейте конвертацию быстро, когда долгоживущих веток мало: старые ветки с правками в pbxproj после перехода придётся пересобирать вручную.
  5. Если в команде работают ИИ-агенты — Xcode 27 поддерживает агентов Anthropic, OpenAI и Google, — новый формат снижает риск того, что агент испортит файл проекта, но ревью диффов никто не отменял.

Часто задаваемые вопросы

Обязательно ли переходить на .xcproj? Нет. Xcode 27.2 поддерживает оба формата, существующие проекты остаются в pbxproj, пока вы не переключите их сами. В новом формате по умолчанию создаются только новые проекты.

Можно ли вернуться на старый формат? Да: проект хранится в Git, поэтому конвертацию можно отменить, откатив изменения.

Нужен ли Xcode 27.2 всем в команде? По данным Apple, проекты в новом формате открываются и в более ранних версиях Xcode 27, но Xcode 26 и старше с ними не работают.

Когда выйдет финальный Xcode 27.2? Точной даты Apple не называла. RC вышел 19 октября; по оценке MacRumors, публичные 27.2-версии ОС могут выйти уже на следующей неделе.

Источники

Материал подготовлен редакцией YuSMP Group по открытым источникам. Нужна экспертиза по теме или разработка под задачу — обсудим проект.

Переводите iOS-проект на Xcode 27.2? Сделаем без простоя

Обновим CI-раннеры, проверим CocoaPods, fastlane и генераторы проектов, конвертируем проект в .xcproj в отдельной ветке и прогоним сборку, тесты и выгрузку в TestFlight до слияния.

Обсудить iOS-разработку