Код
#статьи

Xcode: гайд по IDE от Apple для новичков

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

Иллюстрация: freepik / Freepik / Xcode / Apple / Colowgee для Skillbox Media

Продолжаем разбираться с главными инструментами разработки под устройства Apple. В предыдущей статье мы по полочкам разложили базовые компоненты языка Swift и показали, как начать с ними работать. Сегодня препарируем Xcode — единственную среду разработки для операционок и гаджетов Apple.

Из этой статьи вы узнаете:

ЭКСПЕРТ

Анна Жаркова

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
Изображение: Xcode / Skillbox Media

У Xcode есть важная особенность: среда разработки официально поддерживается только на компьютерах Mac. Можно попытаться запустить её на Windows или на Linux с помощью виртуальной машины, но это нарушает условия использования программного обеспечения Apple. К тому же через эмулятор могут работать не все функции, часто возникают ошибки.

Xcode предназначена в первую очередь для разработки на Swift и Objective-C, но поддерживает и другие языки программирования — например, С, C++, Python, Ruby, Java.

Из чего состоит среда разработки

Xcode состоит из нескольких основных компонентов:

  • Редактор кода. Именно в нём разработчики проводят больше всего времени. Редактор кода в Xcode поддерживает работу со всеми современными функциями, включая подсветку синтаксиса, автодополнение, рефакторинг, форматирование и работу с версиями. Если возможностей не хватает, то функциональность Xcode можно расширить с помощью сторонних плагинов.
Редактор кода и превью приложения, запущенного в симуляторе iPhone 14 Pro
Скриншот: Xcode / Apple Inc.
  • Компиляторы. Программы, которые преобразуют написанный разработчиком код в формат, понятный для устройств Apple. В Xcode для Си-подобных языков, включая Objective-C, используется Clang, а для Swift — Swift Compiler.
  • Графические фреймворки. Для разработки пользовательских интерфейсов в Xcode есть специальные фреймворки: UIKit и SwiftUI. UIKit менее гибкий и уже считается устаревшим, а SwiftUI — основа интерфейсов всех современных приложений в App Store.
В Xcode можно разрабатывать интерфейсы с помощью фреймворков SwiftUI и UIKit
Скриншот: Xcode / Apple Inc.
  • Тестирование и отладка кода. Даже опытным программистам нужны инструменты для проверки кода и тестирования проектов. В Xcode для этих задач предусмотрены анализаторы и отладчики.
Отладка кода в Xcode
Скриншот: Xcode / Apple Inc.
  • Симуляторы. Не у каждого разработчика приложений под рукой есть коллекция моделей iPhone за последние несколько лет, а код надо тестировать на всех актуальных устройствах. В Xcode для этого есть симуляторы — виртуальные устройства Apple. На них можно запускать свои приложения и проводить автоматизированное тестирование.
Окно выбора симулятора устройства
Скриншот: Xcode / Skillbox Media
  • Xcode Cloud. В 2021 году Apple запустила Xcode Cloud — облачный CI/CD-сервис. С его помощью разработчики могут настроить тестирование и сборку приложений на серверах компании, чтобы сэкономить на обслуживании собственного оборудования. Xcode Cloud запускает процесс тестирования кода каждый раз, когда разработчики сохраняют новую версию приложения. Это позволяет быстро находить ошибки и уязвимости в проектах. После успешного тестирования сервис загружает обновление в App Store.
С помощью Xcode Cloud разработчики могут запускать автоматизированное тестирование приложений перед публикацией
Скриншот: 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. После завершения загрузки автоматически начнётся установка программы.
Xcode в магазине приложений App Store для macOS
Скриншот: App Store / Skillbox Media

Установка с официального сайта

Этот способ подойдёт опытным разработчикам, которым нужна бета-версия среды разработки с поддержкой всех новых функций. Важно помнить, что бета-версии могут работать нестабильно. Для установки с официального сайта:

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

Как запустить и настроить Xcode

После установки Xcode нужно настроить среду разработки. Если планируете создавать полноценные приложения и публиковать их в App Store, то следует связать Xcode с учётной записью Apple ID:

  • Откройте Xcode из папки «Программы» или кликните на иконку среды разработки в Launchpad.
  • В верхнем меню выберите Xcode → Settings (или нажмите ⌘ + ,).
  • Перейдите во вкладку Accounts.
Во вкладке Accounts можно связать Xcode с профилем Apple ID или с системой контроля версий
Скриншот: Xcode / Apple Inc.
  • Нажмите кнопку + в нижнем левом углу и выберите Apple ID.
Скриншот: Xcode / Apple Inc.
  • Введите данные учётной записи и нажмите 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.

Больше интересного про код — в нашем телеграм-канале. Подписывайтесь!

Изучайте IT на практике — бесплатно

Курсы за 2990 0 р.

Я не знаю, с чего начать
Научитесь: Профессия Python-разработчик Узнать больше
Понравилась статья?
Да

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪

Ссылка скопирована