Введение и проблематика
Запуск приложения на симуляторе — первое, что делает iOS-разработчик для проверки своего кода. Xcode автоматизирует процесс сборки, установки и запуска, делая его максимально простым.
iOS Simulator входит в состав Xcode и не требует отдельной установки. Дополнительные версии iOS можно загрузить в Xcode → Settings → Platforms.
Базовый процесс запуска
Шаг 1: Открыть проект
Откройте .xcodeproj или .xcworkspace файл двойным кликом или через File → Open.
Шаг 2: Выбрать симулятор
В toolbar найдите Scheme selector (слева от кнопки Run). Кликните и выберите нужный симулятор из списка.
Шаг 3: Нажать Run
Нажмите кнопку ▶️ (Run) или используйте Cmd + R. Xcode начнёт сборку.
Шаг 4: Дождаться запуска
После успешной сборки симулятор запустится автоматически, приложение установится и откроется.
Что происходит при нажатии Cmd + R
graph LR
A[Cmd + R] --> B[Build]
B --> C[Install to Simulator]
C --> D[Launch App]
D --> E[Attach Debugger]
Этапы подробнее
| Этап | Что происходит | Индикация |
|---|
| Build | Компиляция исходного кода | Progress bar в toolbar |
| Install | Копирование .app в симулятор | Иконка появляется в симуляторе |
| Launch | Запуск приложения | Приложение открывается |
| Debug | Подключение LLDB | Debug navigator активен |
Горячие клавиши
| Действие | Shortcut | Описание |
|---|
| Run | Cmd + R | Сборка и запуск |
| Stop | Cmd + . | Остановить приложение |
| Build | Cmd + B | Только сборка |
| Clean Build | Cmd + Shift + K | Очистить и пересобрать |
| Run without Build | Cmd + Ctrl + R | Запустить без пересборки |
⚠️
Cmd + Ctrl + R (Run without Build) запускает последнюю собранную версию без перекомпиляции. Полезно для быстрого перезапуска, но не отразит последние изменения кода.
Выбор симулятора
Через Scheme selector
- Нажмите на название текущего destination в toolbar
- В разделе iOS Simulators выберите нужную модель
- Xcode запомнит выбор для следующих запусков
Установка дополнительных симуляторов
Xcode → Settings → Platforms → + → iOS [version]
После загрузки новые симуляторы появятся в списке destinations.
Работа с несколькими симуляторами
Запуск второго симулятора
В Simulator: File → Open Simulator → [выбрать модель]
Или через Xcode — просто выберите другой destination и запустите снова.
Зачем это нужно
- Тестирование на разных размерах экрана
- Проверка адаптивного layout
- Тестирование multi-device сценариев
Пограничные кейсы
🚫
Если симулятор не запускается — попробуйте: Device → Erase All Content and Settings... в меню Simulator.
Ошибка "Unable to boot simulator"
Решения:
- Перезапустить Xcode
sudo killall -9 com.apple.CoreSimulator.CoreSimulatorService
- Удалить симулятор и создать заново
Приложение не устанавливается
Возможные причины:
- Bundle ID конфликтует с другим приложением
- Недостаточно места в симуляторе
- Deployment target выше версии симулятора
Медленная сборка
Способы ускорить:
- Включить
Parallelize Build в Scheme
- Использовать Apple Silicon Mac
- Уменьшить количество зависимостей
- Очистить DerivedData
Debug Area при запуске
После запуска внизу Xcode открывается Debug Area:
| Панель | Содержимое |
|---|
| Variables View | Значения переменных при breakpoint |
| Console | Вывод print() и системные логи |
Горячие клавиши:
Cmd + Shift + Y — показать/скрыть Debug Area
Cmd + Shift + C — активировать Console
Плюсы и минусы
| Аспект | Simulator | Реальное устройство |
|---|
| Настройка | ✅ Не требуется | ❌ Signing, доверие |
| Скорость | ✅ Быстро | ⚠️ Медленнее |
| Точность | ⚠️ Приближённая | ✅ Реальная |
| Debugging | ✅ Полный | ✅ Полный |
Вопросы интервьюера
Q: Что происходит при нажатии Cmd + R?
Xcode выполняет Build, устанавливает приложение в симулятор, запускает его и подключает отладчик.
Q: Как запустить без пересборки?
Cmd + Ctrl + R — Run without Building. Запускает последнюю собранную версию.
Q: Почему симулятор показывает старую версию приложения?
Возможно, используется Run without Build или incremental build не подхватил изменения. Сделайте Clean Build (Cmd + Shift + K) и запустите заново.
Q: Можно ли запустить несколько симуляторов одновременно?
Да, через Simulator → File → Open Simulator → выбрать модель.
Источники