Xcode: гайд по IDE от Apple для новичков
Где писать код на Swift и действительно ли для этого нужен MacBook.


Иллюстрация: freepik / Freepik / Xcode / Apple / Colowgee для Skillbox Media
Продолжаем разбираться с главными инструментами разработки под устройства Apple. В предыдущей статье мы по полочкам разложили базовые компоненты языка Swift и показали, как начать с ними работать. Сегодня препарируем Xcode — единственную среду разработки для операционок и гаджетов Apple.
Из этой статьи вы узнаете:
- что такое Xcode;
- из чего состоит среда разработки;
- какие приложения можно создавать в Xcode;
- как установить Xcode;
- как запустить и настроить Xcode;
- как создать новый проект;
- как запустить приложение в Xcode;
- как добавлять таргеты.

ЭКСПЕРТ
Анна Жаркова
Lead Mobile Developer в Usetech. Пишет нативные приложения под iOS и Android и кросс-платформенные на Xamarin, Xamarin.Forms и Kotlin Multiplatform. Эксперт Skillbox по мобильной разработке.
Автор на «Хабре» и Medium. Пишет статьи, выступает на конференциях и митапах. Член программного комитета Mobius, CodeFest, «Стачка». Увлекается живописью и участвует в выставках.
Что такое Xcode
Xcode — это интегрированная среда разработки (IDE) компании Apple, предназначенная для создания приложений под операционные системы iOS, iPadOS, watchOS, macOS, tvOS и visionOS. Xcode похож на большой комбайн, в котором собраны все необходимые для разработчиков инструменты.

Изображение: Xcode / Skillbox Media
У Xcode есть важная особенность: среда разработки официально поддерживается только на компьютерах Mac. Можно попытаться запустить её на Windows или на Linux с помощью виртуальной машины, но это нарушает условия использования программного обеспечения Apple. К тому же через эмулятор могут работать не все функции, часто возникают ошибки.
Xcode предназначена в первую очередь для разработки на Swift и Objective-C, но поддерживает и другие языки программирования — например, С, C++, Python, Ruby, Java.

Читайте также:
Из чего состоит среда разработки
Xcode состоит из нескольких основных компонентов:
- Редактор кода. Именно в нём разработчики проводят больше всего времени. Редактор кода в Xcode поддерживает работу со всеми современными функциями, включая подсветку синтаксиса, автодополнение, рефакторинг, форматирование и работу с версиями. Если возможностей не хватает, то функциональность Xcode можно расширить с помощью сторонних плагинов.

Скриншот: Xcode / Apple Inc.
- Компиляторы. Программы, которые преобразуют написанный разработчиком код в формат, понятный для устройств Apple. В Xcode для Си-подобных языков, включая Objective-C, используется Clang, а для Swift — Swift Compiler.

Читайте также:
- Графические фреймворки. Для разработки пользовательских интерфейсов в Xcode есть специальные фреймворки: UIKit и SwiftUI. UIKit менее гибкий и уже считается устаревшим, а SwiftUI — основа интерфейсов всех современных приложений в App Store.

Скриншот: Xcode / Apple Inc.
- Тестирование и отладка кода. Даже опытным программистам нужны инструменты для проверки кода и тестирования проектов. В Xcode для этих задач предусмотрены анализаторы и отладчики.

Скриншот: Xcode / Apple Inc.
- Симуляторы. Не у каждого разработчика приложений под рукой есть коллекция моделей iPhone за последние несколько лет, а код надо тестировать на всех актуальных устройствах. В Xcode для этого есть симуляторы — виртуальные устройства Apple. На них можно запускать свои приложения и проводить автоматизированное тестирование.

Скриншот: Xcode / Skillbox Media
- Xcode Cloud. В 2021 году Apple запустила Xcode Cloud — облачный CI/CD-сервис. С его помощью разработчики могут настроить тестирование и сборку приложений на серверах компании, чтобы сэкономить на обслуживании собственного оборудования. Xcode Cloud запускает процесс тестирования кода каждый раз, когда разработчики сохраняют новую версию приложения. Это позволяет быстро находить ошибки и уязвимости в проектах. После успешного тестирования сервис загружает обновление в App Store.

Скриншот: Xcode / Apple Inc.
- Системы управления версиями. Xcode поддерживает работу с Git и Subversion, обеспечивая возможность отслеживать изменения в исходном коде. С помощью этих систем можно совместно работать над проектами, сравнивать изменения, сохранять предыдущие версии файлов и при необходимости откатываться к ним.

Читайте также:
- Распространение бета-версий. У Apple есть TestFlight — сервис, позволяющий выпускать бета-версии своих приложений. С его помощью пользователи могут присылать отзывы и отчёты об ошибках. Разработчик видит эти сообщения и вносит изменения в код проекта. С помощью Xcode можно настроить поставку бета-версий в TestFlight.
- Управление базами данных. Xcode поддерживает различные фреймворки для работы с базами данных. Это могут быть как фреймворки самой Apple, например Core Data и SwiftData, так и сторонние решения — SQLite, Realm или Firebase.

Читайте также:
- Репозиторий шаблонов. В Xcode есть специальный локальный репозиторий, в котором разработчики могут сохранять шаблоны кода. Его можно использовать, чтобы сохранить интересное решение проблемы или часто используемый фрагмент кода.
- Playgrounds. Xcode подходит не только профессиональным программистам, но и новичкам, которые только начинают изучать разработку для устройств Apple. Для них в Xcode есть интерактивные песочницы Playgrounds, в которых код выполняется построчно, а ошибки выводятся сразу, не после сборки проекта.
Какие приложения можно создавать в Xcode
Xcode не ограничивает программистов и позволяет создавать разные типы приложений:
- Стандартные приложения. С помощью Xcode можно разработать приложение для любой операционной системы Apple. Это может быть небольшой виджет для умных часов Apple Watch или полноценный онлайн-кинотеатр для Apple TV.
- Игры. В IDE есть инструменты для работы с 3D-графикой и популярными движками. Это позволяет создавать игры любой сложности.
- Фреймворки и библиотеки. Если вам показалось, что для Swift нет библиотеки, решающей ваши задачи, то её можно создать самостоятельно. Xcode может пригодиться в создании не только приложений, но и инструментов для тех, кто эти приложения разрабатывает.
- Инструменты командной строки. Некоторым приложениям, например серверным, не нужен тяжеловесный интерфейс. В Xcode можно разрабатывать утилиты, которые работают в командной строке.
- Бэкенд онлайн-сервисов. Apple активно пытается сломать парадигму «Swift только для iOS», поэтому внедряет новые сценарии использования языка программирования. Например, в Xcode можно разработать бэкенд для сайта или приложения.
- Машинное обучение. В среде разработки есть интеграция с фреймворками Create ML и Core ML, которые позволяют обучать нейросети и реализовывать ИИ-функции в приложениях.

Читайте также:
Как установить Xcode
Xcode можно скачать из магазина приложений App Store или с официального сайта для разработчиков. Первый способ проще и удобнее, так как из App Store автоматически скачивается и устанавливается последняя версия программы.
Установка из App Store
- Откройте App Store на Mac, используя иконку в Dock или Launchpad.
- В строке поиска введите Xcode и нажмите Enter.
- Нажмите кнопку «Загрузить» рядом с Xcode. Если потребуется, введите пароль от Apple ID. После завершения загрузки автоматически начнётся установка программы.

Скриншот: App Store / Skillbox Media
Установка с официального сайта
Этот способ подойдёт опытным разработчикам, которым нужна бета-версия среды разработки с поддержкой всех новых функций. Важно помнить, что бета-версии могут работать нестабильно. Для установки с официального сайта:
- Перейдите на сайт Apple Developer.
- Войдите в учётную запись или создайте новую.
- Выберите нужную версию Xcode в разделе Downloads и скачайте установочный файл.

Скриншот: App Store / Skillbox Media
- Перейдите в папку «Загрузки», найдите загруженный пакет и установите его, следуя инструкциям на экране.
Как запустить и настроить Xcode
После установки Xcode нужно настроить среду разработки. Если планируете создавать полноценные приложения и публиковать их в App Store, то следует связать Xcode с учётной записью Apple ID:
- Откройте Xcode из папки «Программы» или кликните на иконку среды разработки в Launchpad.
- В верхнем меню выберите Xcode → Settings (или нажмите ⌘ + ,).
- Перейдите во вкладку Accounts.

Скриншот: Xcode / Apple Inc.
- Нажмите кнопку + в нижнем левом углу и выберите Apple ID.

- Введите данные учётной записи и нажмите Next.
Таким же образом можно связать Xcode с аккаунтами GitHub, Bitbucket или GitLab. Это полезно, если вы будете работать в команде или хотите делиться кодом своих проектов.
При первом запуске Xcode предложит установить дополнительные утилиты — например, инструменты командной строки (Command Line Tools) и симуляторы. Согласитесь и подождите, пока установка завершится. Этот шаг можно совершать позже, но лучше сразу подготовить среду разработки.
Как создать новый проект
Чтобы создать новый проект:
- Запустите Xcode и выберите пункт Create a new Xcode project. Если окно с такой кнопкой не появилось на экране, то воспользуйтесь сочетанием клавиш ⌘ + Shift + N.
- Выберите шаблон проекта. Для этого надо кликнуть на название необходимой операционной системы в верхней части окна, а потом выбрать тип проекта. После этого нажмите Next.

Скриншот: Xcode / Apple Inc.
- Укажите имя проекта и идентификатор разработчика, а также выберите язык программирования, графический фреймворк и тип базы данных. Нажмите Next.

Скриншот: Xcode / Apple Inc.
- Выберите место для сохранения проекта и нажмите Create.

Скриншот: Xcode / Apple Inc.
После этого откроется окно проекта. В левой части экрана находятся файлы приложения, которые Xcode добавила согласно выбранному шаблону. В центре располагается редактор кода, справа — окно превью приложения.

Скриншот: Xcode / Apple Inc.
Как запустить приложение в Xcode
Для запуска проекта на симуляторе или физическом устройстве надо скомпилировать исходный код в исполняемый файл и связать его со всеми подключёнными сторонними библиотеками. Следуйте инструкции, чтобы собрать приложение:
- В строке проекта в верхней части экрана выберите цель запуска приложения. Это может быть один из симуляторов или физическое устройство, подключённое к Mac с помощью кабеля.
- Выберите в меню Product → Run или воспользуйтесь сочетанием клавиш ⌘ + R.
После этого Xcode проверит код проекта, скомпилирует его и запустит на выбранном симуляторе или устройстве. Если в коде будут ошибки, то сообщения о них появятся в терминале.
Как добавлять таргеты
Для сборки и запуска проектов Xcode использует таргеты — специальные конфигурации, сообщающие, для каких операционных систем создаётся проект и какие фреймворки следует использовать. Например, если вы разрабатываете кросс-платформенное приложение для iOS, iPadOS и macOS, то для каждой из операционных систем надо указать свой таргет.
Чтобы добавить в проект новый таргет:
- Перейдите в меню управления таргетами: File → New → Target.

Скриншот: Xcode / Apple Inc.
- Выберите подходящий шаблон для вашего нового таргета. Например, можно выбрать приложение для умных часов Apple Watch (Watch App) или приложение для iPhone (iOS App). Нажмите Next.

Скриншот: Xcode / Apple Inc.
Для каждого таргета надо указать название, идентификатор организации, выбрать язык программирования и настроить параметры связи с основным проектом. Этот процесс похож на создание нового проекта в Xcode.

Скриншот: Xcode / Apple Inc.
Что запомнить
- Xcode — это интегрированная среда разработки (IDE) от Apple, которая используется при создании приложений для операционных систем компании.
- Среда разработки доступна только на macOS, поэтому для работы с ней нужен компьютер или ноутбук Mac.
- В Xcode есть всё необходимое для разработки, тестирования, отладки и публикации современных приложений и утилит.
- Xcode может работать с десятком языков программирования, но в основном среду разработки используют для работы со Swift и Objective-C.
Больше интересного про код — в нашем телеграм-канале. Подписывайтесь!