Каталог статей

Как это сделать: самоучитель по Xcode 12 для начинающих

Как это сделать: самоучитель по Xcode 12 для начинающих

В этом руководстве мы рассмотрим самые важные аспекты Xcode 12. Вы получите экскурсию по Xcode, чтобы быстрее освоить программирование на Swift и разработку приложений для iOS. Это Xcode 101!

Вот что мы рассмотрим:

Оглавление

Что такое Xcode?

Xcode – это приложение для Mac, которое вы используете для создания приложений для iOS, macOS, tvOS и watchOS. Вы используете программирование на языке Swift и множество инструментов внутри Xcode для создания приложений для iPhone, iPad, Mac, Apple TV и других устройств.

Xcode – это IDE, интегрированная среда разработки, что по сути означает, что Xcode включает в себя множество дополнительных инструментов для разработки. Вот несколько примеров: отладчик, контроль исходных кодов, управление устройствами, симулятор iPhone, инструменты профилирования, конструктор интерфейсов, документация и многое другое.

Минимальные системные требования для Xcode 12:

Xcode работает только на macOS, что означает, что вам нужен Mac, если вы хотите создавать приложения для iOS с помощью Xcode. Xcode не будет работать на iPad. Существует несколько альтернатив для Windows/PC, но они далеки от идеала.

Следующий шаг в этом руководстве – установка Xcode. Давайте приступим к этому!

Быстрый совет: Вы можете найти максимальную последнюю версию Xcode, которую может запустить ваш Mac, путем перекрестного сравнения минимальной версии macOS для запуска в этой вики с совместимостью оборудования в этой вики. Используя этот подход, вы также можете выяснить, для каких версий iOS вы сможете создавать сборки.

†: Xcode занимает много места в памяти, но для базовой установки достаточно 8 ГБ. Кроме того, Xcode будет хранить SDK, отладочные символы, “производные данные”, файлы iPhone Simulator и многое другое.

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

Проще всего загрузить и установить Xcode через Mac App Store. Вот как это делается:

  1. Найдите Xcode в Mac App Store или воспользуйтесь этой ссылкой.
  2. Нажмите Установить (или Получить)
  3. Дождитесь завершения установки Xcode, что может занять некоторое время.
  4. Быстрый совет: Не хотите использовать приложение App Store? Ознакомьтесь с mas-cli/mas – интерфейсом командной строки для Mac App Store. Вы можете искать, устанавливать и обновлять приложения – из Mac App Store – через командную строку Terminal!~ Мощное сочетание: Xcode и SwiftUI

Xcode обновляется раз в год, примерно в сентябре-октябре, одновременно с выходом новой основной версии iOS. Каждое обновление Xcode приносит улучшения, новые функции, исправления ошибок и доступ к последним SDK. В течение года выпускается ряд более мелких обновлений Xcode, включая обновления для Swift.

Пока SwiftUI не заменит пользовательские интерфейсы на основе Storyboard, важно научиться работать с контроллерами представления и раскадровками, а также с SwiftUI. Более того, SwiftUI хорошо интегрируется с существующими представлениями и библиотеками на базе UIKit, что означает, что представления на базе UIKit останутся актуальными в течение значительного времени. Разумно изучить оба подхода.

У нас есть множество руководств по обоим:

Начало работы со SwiftUI

Создание пользовательского интерфейса с помощью представлений и модификаторов в SwiftUI

Работа со стеками в SwiftUI

struct ContentView: View var body: some View Text(“Hello worl!”) > >

Объяснение контроллеров представлений: Полное руководство по iOS и Swift

Как: передавать данные между контроллерами представлений в Swift (расширенный вариант)

Создание игры для iOS с помощью Swift в Xcode

С первого взгляда: Как использовать Xcode

Давайте посмотрим на Xcode! Во-первых, убедитесь, что вы запустили Xcode на своем Mac. Вас встретит экран приветствия Xcode: Вот что вы можете выбрать:

Давайте

В правом верхнем углу вы видите кнопки Play и Stop, а также выпадающий элемент рядом с ними. С помощью этих кнопок вы можете создать свое приложение, после чего оно начнет работать на заданной цели. Другими словами, сначала выберите “iPhone 11 Pro”, затем нажмите Play, и ваше приложение запустится в iPhone Simulator. Отлично!

Как создавать пользовательские интерфейсы с помощью Interface Builder

Одним из основных инструментов в Xcode является Interface Builder. Как следует из названия, с помощью Interface Builder вы создаете пользовательские интерфейсы для своих приложений. Вы создаете раскадровки, соединяете их с контроллерами представлений, и это формирует основу пользовательского интерфейса вашего приложения.

    Давайте посмотрим на Interface Builder!

Interface Builder может показаться сложным на первый взгляд, но это простая программа, учитывая, насколько она мощная. С помощью “IB” вы можете делать 3 вещи: создавать пользовательский интерфейс, проверять элементы пользовательского интерфейса и вносить изменения в элементы пользовательского интерфейса.

Эти 7 инспекторов можно разделить на 2 группы, а именно:

Инспекторы, основанные на ресурсах, такие как инспекторы File, History, Help и Identity. Они информируют вас о ресурсах, таких как имя файла или имя класса. Эти инспекторы в основном используются для получения информации.

На приведенном выше снимке экрана вы также видите несколько разных элементов:

Вы смотрите на раскадровку, которая представляет собой подход к объединению различных контроллеров представления в один. Раскадровка состоит из сцен с переходами между ними. Другой подход к созданию пользовательского интерфейса – это использование XIBs и отдельных классов контроллеров представления.

В верхней части левого контроллера представления вы видите прототип ячейки табличного представления. Табличное представление – это распространенный элемент пользовательского интерфейса в приложениях iOS, и с помощью прототипа мы можем легко создать пользовательскую ячейку.

В нижней левой части Interface Builder вы видите надпись “View as: iPhone 11”. С помощью этого параметра вы можете просматривать свой пользовательский интерфейс как различные модели устройств iPhone и размеры экрана. Это очень полезно для создания отзывчивых пользовательских интерфейсов.

Кстати, об отзывчивости – в правом нижнем углу редактора Interface Builder вы видите несколько кнопок. С помощью этих кнопок можно создавать ограничения, в первую очередь ограничения Pin и Alignment. Ограничения определяют, как изменяется размер вашего пользовательского интерфейса при изменении размера экрана или размеров вводимых данных.

    Давайте перейдем к более практической части этого руководства, а именно к тому, как запускать собственные приложения на iPhone и в iPhone Simulator!

Interface Builder раньше был отдельным приложением, которое запускалось рядом с Xcode, а теперь я рассматриваю его как отдельное приложение внутри Xcode. То же самое относится и к Instruments, который на самом деле все еще является отдельным приложением…

    Запуск приложения с помощью симулятора iPhone

Если у вас нет iPhone или iPad, iPhone Simulator – это лучший вариант. Это iPhone, который вы можете запустить на своем Mac прямо из Xcode. iPhone Simulator запускается довольно быстро, поэтому он идеально подходит для непрерывного рабочего процесса разработки.

    Вот как запустить свое приложение в iPhone Simulator:

Сначала откройте проект iOS в Xcode.

Постукивание в приложении – это то же самое, что и нажатие, но прокрутка не работает! Вам придется нажимать и перетаскивать мышь, чтобы имитировать перетаскивание пальцем.

Вы можете сделать щипок двумя пальцами, удерживая клавишу Option во время перетаскивания и щелчка. Это полезно, например, для масштабирования.

iPhone Simulator имеет несколько полезных функций, в том числе:

Вы можете сбросить Simulator через Hardware → Erase All Content and Settings….. Это приведет к удалению всех установленных приложений и настроек, что позволит вам начать все с чистого листа.

Вы можете использовать клавиатуру Mac для ввода текста в текстовые поля. Вы также можете использовать экранную клавиатуру, которую можно показать/скрыть с помощью Command + K.

Совет: если вы создаете приложение для использования в производстве, не ограничивайтесь тестированием приложения в iPhone Simulator! Протестируйте его и на настоящем iPhone. Это симулятор, а не эмулятор, поэтому есть небольшие различия, такие как производительность, время и архитектура (i386 против ARM).

Запуск приложения на iPhone/iPad

Сначала откройте проект iOS в Xcode.

Если вы никогда раньше не использовали свой iPhone в Xcode, вам нужно будет включить его для разработки. Сделать это очень просто:

Сначала откройте Xcode и подключите iPhone к Mac через USB.

Затем откройте панель “Устройства” в Xcode с помощью меню “Окно → Устройства и симуляторы”.

Затем найдите свой iPhone в списке слева, нажмите Enable for Development и убедитесь, что установлен флажок Show as run destination.

Затем, по желанию, вы можете установить флажок Подключаться по сети, что позволит вам отлаживать приложения по сети, без необходимости подключения через USB.

Вот что мы собираемся создать:

Давайте начнем! Мы создадим новый проект в Xcode. Сначала убедитесь, что вы запустили Xcode, а затем сделайте следующее:

Команда: Выберите личную команду~Название организации: Любое! Я использую LearnAppMaking

Идентификатор организации: Что-то вроде com.learnappmaking

Язык: Swift, конечно же!

Интерфейс: Storyboard

Жизненный цикл: UIKit App Delegate

  1. Не ставьте галочку ни в одном из чекбоксов.
  2. Наконец, сохраните проект в удобном месте и нажмите кнопку Создать.
  3. Отлично! Ваш проект в Xcode создан. Теперь вы увидите экран Build Settings в Xcode, который мы обсудим позже в этом руководстве. Давайте сначала что-нибудь построим.
    • Откройте файл Main.storyboard. Появится Interface Builder. Перед вами контроллер представления. Мы собираемся добавить ярлык к этому “VC”. Вот как:
    • Нажмите кнопку + в правом верхнем углу IB, чтобы открыть библиотеку.
    • ОК, теперь переместите ярлык так, чтобы он находился прямо в центре контроллера представления. Затем дважды щелкните по ярлыку, чтобы изменить его текст. Лично мне не нравится надпись “Hello, world!”. – поэтому выберите текст, который вам нравится. Некоторые идеи:
    • “Мой корабль на воздушной подушке полон угрей!”.
    • “BOOYAH!”
    • “Элвис покинул здание”.
    • Отлично! Теперь мы добавим кнопку в контроллер представления. Вот как:
    • Нажмите на кнопку +, чтобы открыть библиотеку
  4. Затем переместите метку так, чтобы она была по центру прямо под меткой. Дважды щелкните по кнопке и измените ее заголовок на что-то вроде “OK!”.

Вы уже знакомы с ограничениями? Не стесняйтесь добавить ограничения Horizontally in Container и Vertically in Container для метки, Horizontal Centers для кнопки и метки (сначала выберите оба!), а также верхнее поле 8 для кнопки. Используйте кнопки Pin и Alignment в правом нижнем углу Xcode. Отлично!

Следующим шагом в этом руководстве будет написание кода на Swift. Мы собираемся, так сказать, оживить ярлык и кнопку.

    Во-первых, обязательно откройте в Xcode файл ViewController.swift. Этот файл включает класс ViewController, который связан с контроллером представления в Storyboard – тем, который мы только что редактировали. Мы собираемся добавить выход и действие в этот контроллер представления.

В верхней части класса, внутри первой открывающейся фигурной скобки

@IBAction func onButtonTap() let titles = [“Мой корабль на воздушной подушке полон угрей!”, “BOOYAH!”, “Элвис покинул здание” ].

    Куда вы добавляете эту функцию? Убедитесь, что добавили ее внутрь класса ViewController, то есть в его фигурные скобки

. Также добавьте функцию под функцией viewDidLoad(), но не внутри нее. Используйте скриншот ниже, чтобы проверить свою работу.

Что происходит в этой функции onButtonTap()? Вот что:

Мы объявили функцию под названием onButtonTap(). Она использует ключевое слово @IBAction, что означает, что мы можем позже связать эту функцию с действием в Interface Builder – действием “нажатие кнопки”.

Внутри функции мы создали массив строк под названием titles. Мы присваиваем константе titles литерал массива. Массив содержит 3 элемента типа String, разделенные запятыми. Тип массива titles – [String].

С помощью кода titles.randomElement() мы получаем случайную строку из массива titles. Выбирается любая из трех строк.

Затем эта случайная строка присваивается свойству text свойства textLabel. Эта метка – точно такая же метка, какую мы добавили в Interface Builder – которую нам еще нужно будет подключить. По-другому говоря, мы назначаем случайную строку для отображения в текстовой метке!

Хорошо, давайте теперь подключим этот аутлет и экшен. Сначала переключитесь на Main.storyboard в Xcode. Снова откроется Interface Builder.

Найдите и щелкните элемент View Controller в контуре документа слева.

Теперь вы увидите нечто похожее на скриншот ниже. Обратите внимание на два элемента – выход и действие – в инспекторе соединений, textLabel и onButtonTap. Также обратите внимание на маленькие кружочки рядом со всеми этими элементами в инспекторе. Далее мы подключим их к пользовательскому интерфейсу.

textLabel?.text = titles.randomElement() >Сначала мы подключим свойство textLabel outlet к элементу пользовательского интерфейса label. Это создаст связь с выходом. Вот что нужно сделать:Найдите элемент textLabel в инспекторе подключений.

Перетащите его из круга справа на UI-элемент label.

Пункт Touch Up Inside соответствует нажатию кнопки, поэтому очень важно выбрать именно этот пункт.

    Теперь вы готовы запустить свое приложение. Сначала выберите iPhone Simulator в левом верхнем углу Xcode, а затем нажмите кнопку Run или нажмите Command + R. Ваше приложение запустится на iPhone Simulator. Что происходит, когда вы нажимаете на кнопку? Все работает нормально? Потрясающе!

Играйте с кодом: Игровые площадки в Xcodey

Что, если вы не хотите создавать приложение? Не волнуйтесь! В Xcode можно писать и на обычном Swift. Для этого у вас есть 2 альтернативы:

Вы решаете всевозможные задачи, изучая функции, циклы, условия и многое другое. Вы также можете подключить к приложению датчики, LEGO и дроны и использовать их для игры и кодирования. И Swift Playgrounds – это не только для детей!

Вы можете написать в этом файле все, что захотите. Он идеально подходит для рисования Swift-кода, тренировки синтаксиса или написания простого алгоритма.

Скопируйте и вставьте в редактор следующий фрагмент:

Int if i Пакеты Swift. Но как насчет их версий?

Вы можете ясно видеть, что мы находимся на версии 5.5.2 SDWebImage, и что мы хотим автоматически обновляться до новых версий вплоть до следующих основных версий. Это означает, что Xcode обновится до таких версий, как 5.5.3 и 5.6.0, но не до 6.0.0. Отлично!

    Популярные инструменты для Xcode

Само приложение Xcode может быть расширено с помощью плагинов, называемых Xcode Source Extensions, и многие разработчики воспользовались этой возможностью, чтобы добавить в Xcode полезные функции. Существует целая экосистема вокруг создания приложений для iOS с большим количеством инструментов сторонних разработчиков.

Вот несколько моих любимых из них:

Fork, бесплатный клиент/интерфейс Git с открытым исходным кодом.

    Fastlane, целый набор инструментов для автоматизации приложений

Balsamiq для создания проволочных схем/макетов и Sketch для векторной графики и дизайна пользовательского интерфейса

Reveal, инструмент отладки представлений для iOS

SimPholders, инструмент повышения производительности и пусковая установка для iPhone Simulator

func fibonacci(_ i: Int) ->xScope, инструмент визуального инспектора для приложений

Bugsnag, инструмент отчетности об ошибках и контроля качества для производственных приложений.

Что дальше?

Pfew! Мы прошли долгий путь изучения Xcode в этом учебнике. Вот что мы обсудили:

Exit mobile version