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 есть важная особенность: среда разработки официально поддерживается только на компьютерах Mac. Можно попытаться запустить её на Windows или на Linux с помощью виртуальной машины, но это нарушает условия использования программного обеспечения Apple. К тому же через эмулятор могут работать не все функции, часто возникают ошибки.
Xcode предназначена в первую очередь для разработки на Swift и Objective-C, но поддерживает и другие языки программирования — например, С, C++, Python, Ruby, Java.
Читайте также:
Из чего состоит среда разработки
Xcode состоит из нескольких основных компонентов:
- Редактор кода. Именно в нём разработчики проводят больше всего времени. Редактор кода в Xcode поддерживает работу со всеми современными функциями, включая подсветку синтаксиса, автодополнение, рефакторинг, форматирование и работу с версиями. Если возможностей не хватает, то функциональность Xcode можно расширить с помощью сторонних плагинов.
- Компиляторы. Программы, которые преобразуют написанный разработчиком код в формат, понятный для устройств Apple. В Xcode для Си-подобных языков, включая Objective-C, используется Clang, а для Swift — Swift Compiler.
Читайте также:
- Графические фреймворки. Для разработки пользовательских интерфейсов в Xcode есть специальные фреймворки: UIKit и SwiftUI. UIKit менее гибкий и уже считается устаревшим, а SwiftUI — основа интерфейсов всех современных приложений в App Store.
- Тестирование и отладка кода. Даже опытным программистам нужны инструменты для проверки кода и тестирования проектов. В Xcode для этих задач предусмотрены анализаторы и отладчики.
- Симуляторы. Не у каждого разработчика приложений под рукой есть коллекция моделей iPhone за последние несколько лет, а код надо тестировать на всех актуальных устройствах. В Xcode для этого есть симуляторы — виртуальные устройства Apple. На них можно запускать свои приложения и проводить автоматизированное тестирование.
- Xcode Cloud. В 2021 году Apple запустила Xcode Cloud — облачный CI/CD-сервис. С его помощью разработчики могут настроить тестирование и сборку приложений на серверах компании, чтобы сэкономить на обслуживании собственного оборудования. Xcode Cloud запускает процесс тестирования кода каждый раз, когда разработчики сохраняют новую версию приложения. Это позволяет быстро находить ошибки и уязвимости в проектах. После успешного тестирования сервис загружает обновление в App Store.
- Системы управления версиями. 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. После завершения загрузки автоматически начнётся установка программы.
Установка с официального сайта
Этот способ подойдёт опытным разработчикам, которым нужна бета-версия среды разработки с поддержкой всех новых функций. Важно помнить, что бета-версии могут работать нестабильно. Для установки с официального сайта:
- Перейдите на сайт Apple Developer.
- Войдите в учётную запись или создайте новую.
- Выберите нужную версию Xcode в разделе Downloads и скачайте установочный файл.
- Перейдите в папку «Загрузки», найдите загруженный пакет и установите его, следуя инструкциям на экране.
Как запустить и настроить Xcode
После установки Xcode нужно настроить среду разработки. Если планируете создавать полноценные приложения и публиковать их в App Store, то следует связать Xcode с учётной записью Apple ID:
- Откройте Xcode из папки «Программы» или кликните на иконку среды разработки в Launchpad.
- В верхнем меню выберите Xcode → Settings (или нажмите ⌘ + ,).
- Перейдите во вкладку Accounts.
- Нажмите кнопку + в нижнем левом углу и выберите Apple ID.
- Введите данные учётной записи и нажмите Next.
Таким же образом можно связать Xcode с аккаунтами GitHub, Bitbucket или GitLab. Это полезно, если вы будете работать в команде или хотите делиться кодом своих проектов.
При первом запуске Xcode предложит установить дополнительные утилиты — например, инструменты командной строки (Command Line Tools) и симуляторы. Согласитесь и подождите, пока установка завершится. Этот шаг можно совершать позже, но лучше сразу подготовить среду разработки.
Как создать новый проект
Чтобы создать новый проект:
- Запустите Xcode и выберите пункт Create a new Xcode project. Если окно с такой кнопкой не появилось на экране, то воспользуйтесь сочетанием клавиш ⌘ + Shift + N.
- Выберите шаблон проекта. Для этого надо кликнуть на название необходимой операционной системы в верхней части окна, а потом выбрать тип проекта. После этого нажмите Next.
- Укажите имя проекта и идентификатор разработчика, а также выберите язык программирования, графический фреймворк и тип базы данных. Нажмите Next.
- Выберите место для сохранения проекта и нажмите Create.
После этого откроется окно проекта. В левой части экрана находятся файлы приложения, которые Xcode добавила согласно выбранному шаблону. В центре располагается редактор кода, справа — окно превью приложения.
Как запустить приложение в Xcode
Для запуска проекта на симуляторе или физическом устройстве надо скомпилировать исходный код в исполняемый файл и связать его со всеми подключёнными сторонними библиотеками. Следуйте инструкции, чтобы собрать приложение:
- В строке проекта в верхней части экрана выберите цель запуска приложения. Это может быть один из симуляторов или физическое устройство, подключённое к Mac с помощью кабеля.
- Выберите в меню Product → Run или воспользуйтесь сочетанием клавиш ⌘ + R.
После этого Xcode проверит код проекта, скомпилирует его и запустит на выбранном симуляторе или устройстве. Если в коде будут ошибки, то сообщения о них появятся в терминале.
Как добавлять таргеты
Для сборки и запуска проектов Xcode использует таргеты — специальные конфигурации, сообщающие, для каких операционных систем создаётся проект и какие фреймворки следует использовать. Например, если вы разрабатываете кросс-платформенное приложение для iOS, iPadOS и macOS, то для каждой из операционных систем надо указать свой таргет.
Чтобы добавить в проект новый таргет:
- Перейдите в меню управления таргетами: File → New → Target.
- Выберите подходящий шаблон для вашего нового таргета. Например, можно выбрать приложение для умных часов Apple Watch (Watch App) или приложение для iPhone (iOS App). Нажмите Next.
Для каждого таргета надо указать название, идентификатор организации, выбрать язык программирования и настроить параметры связи с основным проектом. Этот процесс похож на создание нового проекта в Xcode.
Что запомнить
- Xcode — это интегрированная среда разработки (IDE) от Apple, которая используется при создании приложений для операционных систем компании.
- Среда разработки доступна только на macOS, поэтому для работы с ней нужен компьютер или ноутбук Mac.
- В Xcode есть всё необходимое для разработки, тестирования, отладки и публикации современных приложений и утилит.
- Xcode может работать с десятком языков программирования, но в основном среду разработки используют для работы со Swift и Objective-C.
Больше интересного про код — в нашем телеграм-канале. Подписывайтесь!