Как создать iOS-игру с помощью Claude Code — от терминала до App Store, два пути и все грабли
Как создать iOS-игру с помощью Claude Code — от терминала до App Store, два пути и все грабли
Короткий ответ: да, можно. Люди делают iOS-игры через Claude Code прямо сейчас — от ретро-шутеров до головоломок. Но дьявол, как обычно, в деталях: есть два принципиально разных подхода, и выбор между ними определит, сколько вы потратите времени на борьбу с инструментами вместо создания самой игры.
TL;DR: Два пути: нативный (Swift + SpriteKit + XcodeBuildMCP) и кроссплатформенный (Expo + React Native). Первый даёт максимальную производительность и доступ ко всем фреймворкам Apple, но требует Xcode и macOS. Второй — быстрый старт без Xcode, запуск на телефоне через QR-код, но с ограничениями для тяжёлой графики.
Путь первый: нативный — Swift, SpriteKit и XcodeBuildMCP
Этот путь для тех, кому нужна реальная производительность: 2D-шутеры на SpriteKit, 3D-сцены на SceneKit, кастомные шейдеры на Metal. Claude Code умеет работать со Swift и SwiftUI — по данным разработчиков, модель генерирует корректный SwiftUI-код и находит правильные решения для большинства задач.
Ключевой инструмент здесь — XcodeBuildMCP. Это MCP-сервер с 59 инструментами, который позволяет Claude Code собирать проект, запускать на симуляторе, гонять тесты и даже дебажить через LLDB — всё без ручного переключения в Xcode.
Установка XcodeBuildMCP
claude mcp add XcodeBuildMCP \ -s user \ -e XCODEBUILDMCP_SENTRY_DISABLED=true \ -- npx -y xcodebuildmcp@latest mcp
Если у вас Xcode 26.3+, можно добавить ещё и нативный Apple MCP:
claude mcp add --transport stdio xcode \ -s user -- xcrun mcpbridge
Проверить, что оба подключились:
claude mcp list
После установки перезапустите сессию Claude Code — инструменты появятся в списке.
Что умеет XcodeBuildMCP
build_sim/build_device— сборка под симулятор и реальное устройствоtest_sim— запуск тестов с чётким pass/fail результатомlist_sims/boot_sim/open_sim— управление симуляторамиdebug_attach_sim/debug_stack/debug_variables— LLDB-дебаг прямо из Claude Codesnapshot_ui/screenshot— скриншоты и снимки accessibility tree
Принципиальное отличие от ручного xcodebuild: ошибки возвращаются как структурированный JSON с файлом, строкой и категорией — Claude Code не тратит контекст на парсинг логов, а сразу чинит баг. По замерам Blake Crosley, весь цикл «сборка → ошибки → фикс» занимает ~90 секунд вместо 8-10 минут при ручной работе.
CLAUDE.md для iOS-игры
Создайте CLAUDE.md в корне проекта — это файл, который Claude Code читает при каждом запуске. Для iOS-игры на SpriteKit он может выглядеть так:
# iOS Game Project ## Platform - iOS 17+, Swift 6.0, SpriteKit - Architecture: MVC with GameScene as main controller ## Build Rules - Use XcodeBuildMCP tools for ALL build operations - NEVER use raw xcodebuild commands - NEVER modify .xcodeproj or .pbxproj files directly - Create new files, then add them to Xcode manually ## Game Structure - GameScene.swift — основная сцена - Player.swift — логика игрока - Enemy.swift — типы врагов - Assets.xcassets — спрайты и текстуры ## Coding Standards - Swift 6 strict concurrency - SKAction для всех анимаций - Физика через SKPhysicsBody, не кастомные коллизии
Пример: создание SpriteKit-игры
Промпт для Claude Code:
Создай 2D space shooter на SpriteKit: - Корабль игрока внизу экрана, управление свайпом - Волны врагов сверху, 3 типа с разным поведением - Стрельба автоматическая, power-ups раз в 30 секунд - Счёт и 3 жизни - Используй XcodeBuildMCP для сборки и тестирования
Claude Code создаст структуру проекта, напишет GameScene, настроит физику коллизий и сразу соберёт через build_sim. Если что-то не компилируется — увидит ошибку в JSON и поправит.
Путь второй: Expo + React Native — без Xcode за 20 минут
Этот подход популяризировал Carl Vellotti и он идеален для простых игр: головоломок, квизов, казуальных аркад.
Суть: Claude Code генерирует React Native код через Expo, вы запускаете его на реальном телефоне через Expo Go, а в App Store отправляете через EAS Build — без единого открытия Xcode.
Как это работает
Шаг 1 — скажите Claude Code:
Создай мобильную игру с помощью Expo и React Native. Игра — простой тетрис. Используй NativeWind для стилей.
Claude Code создаст проект, установит зависимости и запустит dev-сервер.
Шаг 2 — установите Expo Go на iPhone, отсканируйте QR-код из терминала. Игра запустится на вашем телефоне.
Шаг 3 — итерируйте. Меняете промпт, Claude Code правит код, Expo hot reload показывает изменения мгновенно.
Шаг 4 — когда игра готова:
Настрой EAS Build для отправки в App Store.
EAS Build соберёт приложение в облаке и подготовит бинарник для App Store Connect.
Expo-air: Claude Code прямо на iPhone
Есть ещё более интересный инструмент — expo-air. Это SDK, который позволяет отправлять промпты Claude прямо с iOS-устройства. Пишете промпт, код меняется, Expo Metro делает hot reload — изменения появляются мгновенно без ручного обновления.
Какой путь выбрать
- Swift + SpriteKit — если нужна производительность (60+ FPS, сложная физика, частицы, Metal-шейдеры), доступ к GameKit для мультиплеера, или если игра использует специфичные для iOS API вроде ARKit
- Expo + React Native — если игра не требует тяжёлой графики (головоломки, карточные игры, текстовые квесты, простые аркады), и вам важна скорость прототипирования. Бонус: тот же код работает и на Android
По бенчмаркам 2026 года, разница в производительности между React Native с New Architecture и нативным Swift составляет менее 5% для стандартных UI-операций. Но для тяжёлой графики и кастомных шейдеров — нативный путь по-прежнему безальтернативен.
Дополнительные инструменты
iOS Simulator Skill
ios-simulator-skill — скилл для Claude Code с 21 скриптом, который оптимизирует работу с симулятором. Использует accessibility tree вместо скриншотов для навигации — это дешевле по токенам и надёжнее, потому что оперирует структурированными данными вместо пиксельного анализа.
Claude в Xcode 26.3
С Xcode 26.3 Claude Agent SDK встроен нативно — субагенты, фоновые задачи и плагины работают прямо в IDE. Для тех, кто предпочитает Xcode терминалу, это может быть удобнее Claude Code.
Подводные камни
1. Никогда не давайте Claude Code трогать .pbxproj. Это главное правило iOS-разработки с AI. Файл .pbxproj — это проектная конфигурация Xcode в кастомном XML-подобном формате. Один битый символ — и проект перестаёт открываться. Создавайте файлы через Claude Code, но добавляйте их в проект через Xcode GUI (File → Add Files). Альтернатива: переключите папки на «blue folder» режим (правый клик → Convert to Folder) — тогда Xcode сам подхватывает новые файлы с диска.
2. Swift/SwiftUI — не самый сильный язык для LLM. Swift существует чуть больше 10 лет, SwiftUI — с 2019 года. У моделей объективно меньше тренировочных данных по сравнению с Python или JavaScript. Плюс исходники SwiftUI проприетарные и не входят в открытые датасеты. На практике это проявляется в использовании устаревших API — Claude может предложить NavigationView вместо NavigationStack или ObservableObject вместо @Observable. Пропишите актуальные стандарты в CLAUDE.md.
3. XcodeBuildMCP делает полную пересборку каждый раз. Инкрементальные сборки не поддерживаются — каждый вызов build_sim собирает с нуля. Для маленького проекта это 5-10 секунд, но для игры с кучей ассетов и зависимостей — 30-60 секунд на каждую итерацию. Есть обходные пути, но они требуют дополнительной настройки.
4. Apple MCP нестабилен. Нативный Xcode MCP (xcrun mcpbridge) требует запущенный Xcode для работы — если IDE упадёт, MCP-вызовы перестанут работать. Плюс инструменты недокументированы и могут измениться без предупреждения в следующем обновлении Xcode.
5. Expo не подходит для тяжёлых игр. Если ваш геймплей завязан на частицы, физику, 60 FPS анимации или кастомные шейдеры — React Native с Expo не справится. Для казуальной головоломки — ок, для bullet hell шутера — только SpriteKit или Metal.
Вердикт
Создать iOS-игру через Claude Code реально, и это работает прямо сейчас. Для быстрого прототипа или казуальной игры — Expo + React Native даёт результат за час без знания Swift. Для серьёзного геймдева — Swift + SpriteKit + XcodeBuildMCP закрывает 90% потребностей, но требует macOS с Xcode и правильно настроенный CLAUDE.md. Главный ограничивающий фактор — не Claude Code, а ваш CLAUDE.md: чем точнее вы опишете архитектуру, стандарты кода и запреты (.pbxproj!), тем меньше времени потратите на борьбу с инструментами.
Как попробовать
- Установите XcodeBuildMCP:
claude mcp add XcodeBuildMCP -s user -- npx -y xcodebuildmcp@latest mcp - Создайте
CLAUDE.mdв корне проекта с правилами из этой статьи — особенно запрет на модификацию .pbxproj - Попробуйте промпт: «Создай простую 2D-игру на SpriteKit: падающие объекты, тап для уничтожения, счёт и 3 жизни. Собери через build_sim и запусти на симуляторе»
- Для быстрого пути без Xcode: «Создай мобильную игру через Expo и React Native. Простая аркада с нарастающей сложностью. Запусти dev-сервер» — и отсканируйте QR в Expo Go
- Документация: XcodeBuildMCP, Claude Code iOS Dev Guide, iOS Simulator Skill