Xcode - Xcode

Xcode
Xcode icon.png
Xcode screenshot.png
Разработчики) Apple Inc.
Стабильный выпуск 13.0 (13A233) (20 сентября 2021 г .; 29 дней назад ) [±] ( 2021-09-20 )
Предварительный выпуск 13.1 RC (13A1030d) (18 октября 2021 г .; 1 день назад ) [±] ( 2021-10-18 )
Операционная система macOS
Тип Интегрированная среда разработки (IDE)
Лицензия Бесплатное ПО с компонентами с открытым исходным кодом
Веб-сайт разработчик .apple .com / xcode /

Xcode - это интегрированная среда разработки (IDE) Apple для macOS , используемая для разработки программного обеспечения для macOS, iOS , iPadOS , watchOS и tvOS . Впервые он был выпущен в 2003 году; Последним стабильным выпуском является версия 13.0, выпущенная 20 сентября 2021 года и доступная через Mac App Store бесплатно для пользователей macOS Big Sur . Зарегистрированные разработчики могут загрузить предварительные версии и предыдущие версии пакета через веб-сайт Apple Developer . Xcode включает инструменты командной строки (CLT), которые позволяют разрабатывать в стиле UNIX через приложение Terminal в macOS. Их также можно загрузить и установить без графического интерфейса .

Основные особенности

Xcode поддерживает исходный код для языков программирования C , C ++ , Objective-C , Objective-C ++ , Java , AppleScript , Python , Ruby , ResEdit (Rez) и Swift с различными моделями программирования, включая, помимо прочего, Cocoa , Углерод и Ява. Третьи стороны добавлена поддержка GNU Pascal , Free Pascal , Ada , C # , Go , Perl , и D .

Xcode может создавать толстые двоичные ( универсальные двоичные ) файлы, содержащие код для нескольких архитектур с исполняемым форматом Mach-O . Это помогло упростить переход от 32-разрядного PowerPC к 64-разрядному PowerPC, от PowerPC к Intel x86 , от 32-разрядного к 64-разрядному Intel и с x86 на микросхему Apple , позволяя разработчикам распространять одно приложение среди пользователей и позволяя операционная система автоматически выбирает подходящую архитектуру во время выполнения. Используя iOS SDK , tvOS SDK и watchOS SDK, Xcode также можно использовать для компиляции и отладки приложений для iOS , iPadOS , tvOS и watchOS .

Xcode включает инструментальный инструмент с графическим интерфейсом пользователя Instruments , который работает на платформе динамической трассировки DTrace , созданной Sun Microsystems и выпущенной как часть OpenSolaris .

Xcode также интегрирует встроенную поддержку для управления исходным кодом с использованием системы и протокола контроля версий Git , что позволяет пользователю создавать и клонировать репозитории Git (которые могут размещаться на сайтах репозиториев исходного кода, таких как GitHub , Bitbucket и Perforce , или самопринятый с использованием открытого исходного программного обеспечения , такого как GitLab ), и совершить , нажимные и тяговые изменения, все это из Xcode, автоматизируя задачи , которые традиционно выполняться с помощью Git из командной строки .

Состав

Основное приложение пакета - интегрированная среда разработки (IDE), также называемая Xcode. Пакет Xcode включает большую часть документации для разработчиков Apple и встроенный Interface Builder , приложение, используемое для создания графических пользовательских интерфейсов . До Xcode 4.1 набор Xcode включал модифицированную версию GNU Compiler Collection . В Xcode 3.1 до Xcode 4.6.3 он включал компилятор LLVM-GCC с интерфейсами из коллекции компиляторов GNU и генератором кода на основе LLVM . В Xcode 3.2 и более поздних версиях он включал компилятор Clang C / C ++ / Objective-C с недавно написанными интерфейсами и генератором кода на основе LLVM, а также статическим анализатором Clang . Начиная с Xcode 4.2, компилятор Clang стал компилятором по умолчанию. Начиная с Xcode 5.0, Clang был единственным предоставленным компилятором.

До Xcode 4.6.3 пакет Xcode использовал GNU Debugger (GDB) в качестве серверной части для отладчика IDE . Начиная с Xcode 4.3, также был предоставлен отладчик LLDB ; начиная с Xcode 4.5 LLDB заменил GDB в качестве серверной части по умолчанию для отладчика IDE. Начиная с Xcode 5.0 GDB больше не поставлялся.

Удаленные функции

Раньше Xcode поддерживал распространение процесса сборки продукта по нескольким системам. Одна из задействованных технологий получила название Shared Workgroup Build , в которой использовался протокол Bonjour для автоматического обнаружения систем, предоставляющих услуги компилятора, и модифицированная версия бесплатного программного продукта distcc для облегчения распределения рабочих нагрузок. Более ранние версии Xcode предоставляли систему с именем Dedicated Network Builds . Эти функции отсутствуют в поддерживаемых версиях Xcode.

Xcode также включает инструменты и фреймворки Apple WebObjects для создания веб-приложений и веб-сервисов Java (ранее продававшихся как отдельный продукт). Начиная с Xcode 3.0, Apple отказалась от разработки WebObjects внутри Xcode; Вместо этого следует использовать WOLips. Xcode 3 по-прежнему включает фреймворки WebObjects.

История версий

1.x серия

Xcode 1.0 был выпущен осенью 2003 года. Xcode 1.0 был основан на Project Builder , но имел обновленный пользовательский интерфейс (UI), ZeroLink, Fix & Continue, поддержку распределенной сборки и индексацию Code Sense.

Следующий значительный выпуск, Xcode 1.5, имел лучшее завершение кода и улучшенный отладчик.

2.x серия

Xcode 2.0 был выпущен вместе с Mac OS X v10.4 «Tiger». Он включал язык визуального программирования Quartz Composer , улучшенную индексацию Code Sense для Java и поддержку Ant . Он также включает инструмент Apple Reference Library, который позволяет искать и читать онлайн-документацию с веб-сайта Apple и документацию, установленную на локальном компьютере.

Xcode 2.1 может создавать универсальные двоичные файлы. Он поддерживает общие предварительно скомпилированные заголовки , цели модульного тестирования, условные точки останова и точки наблюдения. У него также был лучший анализ зависимостей.

Последняя версия Xcode для Mac OS X v10.4 была 2.5.

3.x серия

Xcode 3.0 был выпущен с Mac OS X v10.5 «Leopard». Заметные изменения по сравнению с версией 2.1 включают инструмент отладки DTrace (теперь называемый Instruments ), поддержку рефакторинга, контекстно-зависимую документацию и Objective-C 2.0 со сборкой мусора . Он также поддерживает моментальные снимки проекта, которые обеспечивают базовую форму управления версиями; Пузырьки сообщений, которые вместе с кодом показывают значения отладки ошибок сборки; и построение толстых двоичных файлов с четырьмя архитектурами (32- и 64-разрядные Intel и PowerPC).

Xcode 3.1 был выпуском обновления инструментов разработчика для Mac OS X и той же версии, что и iPhone SDK. Он может быть нацелен на платформы, отличные от Mac OS X, включая iPhone OS 2.0. Он включал компиляторы GCC 4.2 и LLVM GCC 4.2. Еще одна новая функция, появившаяся после Xcode 3.0, заключается в том, что поддержка Xcode SCM теперь включает Subversion 1.5.

Xcode 3.2 был выпущен вместе с Mac OS X v10.6 "Snow Leopard" и не устанавливается ни в каких более ранних версиях OS X. Среди прочих функций он поддерживает статический анализ программ . Он также отказывается от официальной поддержки версий для таргетинга, предшествующих iPhone OS 3.0. Но все еще можно ориентироваться на более старые версии, а симулятор поддерживает iPhone OS от 2.0 до 3.1. Кроме того, поддержка Java "изгнана" в 3.2 организатору.

Xcode 3.2.6 - последняя версия, которую можно бесплатно загрузить для пользователей Mac OS X Snow Leopard (хотя это не последняя версия, которая поддерживает Snow Leopard; 4.2 есть). Для загрузки Xcode 3.2.6 требуется бесплатная регистрация на сайте разработчиков Apple.

4.x серия

В июне 2010 года на конференции разработчиков Apple Worldwide Developers Conference версия 4 Xcode была анонсирована во время выступления Developer Tools State of the Union. Версия 4 инструментов разработчика объединяет инструменты редактирования Xcode и Interface Builder в одно приложение, среди других улучшений. Apple выпустила финальную версию Xcode 4.0 9 марта 2011 года. Программное обеспечение было доступно бесплатно всем зарегистрированным участникам программы Mac Developer за 99 долларов в год и программы iOS Developer за 99 долларов в год. Он также был продан за 4,99 доллара в Mac App Store (больше не доступен) для лиц, не являющихся участниками . Xcode 4.0 отказывается от поддержки многих старых систем, включая все комплекты разработки и разработки программного обеспечения (SDK) PowerPC для Mac OS X 10.4 и 10.5, а также все SDK iOS старше 4.3. Целевой объект развертывания по-прежнему может быть настроен на создание двоичных файлов для этих старых платформ, но для платформ Mac OS можно ограничиться созданием двоичных файлов x86 и x86-64 . Позже Xcode стал бесплатным для широкой публики. До версии 4.1 Xcode стоил 4,99 доллара.

Xcode 4.1 стал доступен бесплатно 20 июля 2011 года (в день выпуска Mac OS X Lion ) для всех пользователей Mac OS X Lion в Mac App Store. 29 августа 2011 года Xcode 4.1 был доступен для Mac OS X Snow Leopard для участников платных программ для разработчиков Mac или iOS. Xcode 4.1 был последней версией, которая включала GNU Compiler Collection (GCC) вместо LLVM GCC или Clang .

12 октября 2011 года Xcode 4.2 был выпущен одновременно с выпуском iOS 5.0, и он включал многие другие и улучшенные функции, такие как раскадровка и автоматический подсчет ссылок (ARC) . Xcode 4.2 - последняя версия, поддерживающая Mac OS X 10.6 «Snow Leopard» , но доступна только зарегистрированным разработчикам с платными учетными записями; без платной учетной записи 3.2.6 - это последняя загрузка для Snow Leopard.

Xcode 4.3, выпущенный 16 февраля 2012 г., распространяется как один пакет приложений, Xcode.app, устанавливаемый из Mac App Store. Xcode 4.3 реорганизует меню Xcode, добавляя инструменты разработки. Xcode 4.3.1 был выпущен 7 марта 2012 года для добавления поддержки iOS 5.1. Xcode 4.3.2 был выпущен 22 марта 2012 года с усовершенствованиями симулятора iOS и предложенным переходом к отладчику LLDB вместо отладчика GDB (которые, по всей видимости, являются недокументированными изменениями). Xcode 4.3.3, выпущенный в мае 2012 года, содержит обновленный SDK для Mac OS X 10.7.4 «Lion» и несколько исправлений ошибок.

Xcode 4.4 был выпущен 25 июля 2012 года. Он работает как в Mac OS X Lion (10.7), так и в OS X Mountain Lion (10.8) и является первой версией Xcode, содержащей SDK OS X 10.8 «Mountain Lion» . Xcode 4.4 включает поддержку автоматического синтеза объявленных свойств, новые функции Objective-C, такие как буквальный синтаксис и индексирование, улучшенную локализацию и многое другое. 7 августа 2012 г. был выпущен Xcode 4.4.1 с несколькими исправлениями ошибок.

19 сентября 2012 года были выпущены iOS 6 и Xcode 4.5. Xcode добавил поддержку iOS 6 и 4-дюймового дисплея Retina на iPhone 5 и iPod touch 5-го поколения. Он также привнес в iOS некоторые новые функции Objective-C , упростил локализацию и добавил поддержку автоматического макета для iOS. 3 октября 2012 г. был выпущен Xcode 4.5.1 с исправлениями ошибок и улучшением стабильности. Менее чем через месяц был выпущен Xcode 4.5.2 с поддержкой iPad Mini и iPad с дисплеем Retina, а также исправлениями ошибок и улучшением стабильности.

28 января 2013 года были выпущены iOS 6.1 и Xcode 4.6.

5.x серия

10 июня 2013 года на Всемирной конференции разработчиков Apple была анонсирована версия 5 Xcode. 18 сентября 2013 г. был выпущен Xcode 5.0. Он поставляется с SDK для iOS 7 и OS X 10.8 Mountain Lion. Однако поддержка OS X 10.9 Mavericks была доступна только в бета-версиях. В Xcode 5.0 также была добавлена ​​версия Clang, генерирующая 64-битный код ARM для iOS 7. Apple удалила поддержку создания двоичных файлов Cocoa со сборкой мусора в Xcode 5.1.

6.x серия

2 июня 2014 года на Всемирной конференции разработчиков Apple анонсировала версию 6 Xcode. Одной из самых примечательных особенностей была поддержка Swift , совершенно нового языка программирования, разработанного Apple. Xcode 6 также включает такие функции, как игровые площадки и инструменты отладки в реальном времени. 17 сентября 2014 года одновременно вышли iOS 8 и Xcode 6. Xcode можно загрузить в Mac App Store .

7.x серия

8 июня 2015 года на Всемирной конференции разработчиков Apple была анонсирована Xcode версии 7. Он представил поддержку Swift 2 и Metal для OS X , а также добавил поддержку для развертывания на устройствах iOS без учетной записи Apple Developer. Xcode 7 был выпущен 16 сентября 2015 года.

8.x серия

13 июня 2016 г. на Всемирной конференции разработчиков Apple была анонсирована версия Xcode 8; в тот же день была выпущена бета-версия. Он представил поддержку Swift 3. Xcode 8 был выпущен 13 сентября 2016 года.

9.x серия

5 июня 2017 года на Всемирной конференции разработчиков Apple была анонсирована версия Xcode 9; в тот же день была выпущена бета-версия. Он представил поддержку Swift 4 и Metal 2. Он также представил удаленную отладку на устройствах iOS и tvOS по беспроводной сети через Wi-Fi.

Xcode 9 был публично выпущен 19 сентября 2017 года.

10.x серия

4 июня 2018 г. на Всемирной конференции разработчиков Apple была анонсирована Xcode версии 10; в тот же день была выпущена бета-версия. Xcode 10 представил поддержку темного режима, анонсированного для macOS Mojave , платформ для совместной работы Bitbucket и GitLab (в дополнение к уже поддерживаемому GitHub ), обучающих моделей машинного обучения с игровых площадок и новых функций в Swift 4.2 и Metal 2.1, а также улучшений. редактору и системе сборки проекта. Xcode 10 также отказался от поддержки создания 32-разрядных приложений macOS и больше не поддерживает интеграцию с Subversion.

Xcode 10 был публично выпущен 17 сентября 2018 года.

11.x серия

3 июня 2019 года на Всемирной конференции разработчиков Apple была анонсирована Xcode версии 11; в тот же день была выпущена бета-версия. Xcode 11 представил поддержку новых функций в Swift 5.1, а также новую структуру SwiftUI (хотя интерактивные инструменты пользовательского интерфейса доступны только при работе под macOS 10.15 ). Он также поддерживает создание приложений для iPad, работающих под macOS; включает интегрированную поддержку Swift Package Manager; и содержит дальнейшие улучшения редактора, включая «миникарту», ​​которая дает обзор файла исходного кода с быстрой навигацией. Xcode 11 требует macOS 10.14 или новее, а Xcode 11.4 требует 10.15 или новее.

Xcode 11 был публично выпущен 20 сентября 2019 года.

12.x серия

22 июня 2020 года на Всемирной конференции разработчиков Apple была анонсирована версия Xcode 12; в тот же день была выпущена бета-версия. Xcode 12 представил поддержку Swift 5.3 и требует macOS 10.15.4 или новее.

Xcode 12 был публично выпущен 16 сентября 2020 года.

13.x серия

Xcode 13 был анонсирован 7 июня 2021 года на WWDC21 ; первая бета-версия была выпущена в тот же день.

В новой версии появилась поддержка Swift 5.5 и требуется macOS 11.3 или новее. Xcode 13 содержит SDK для iOS / iPadOS 15 , macOS 12 , watchOS 8 и tvOS 15 . Основные функции Xcode 13 включают новую модель параллелизма , улучшенную поддержку поставщиков управления версиями (таких как GitHub ), в том числе возможность просматривать, просматривать и комментировать запросы на вытягивание прямо в интерфейсе приложения.

Xcode 13 был публично выпущен 20 сентября 2021 года.

Таблица сравнения версий

Снято с производства Текущий выпуск Бета

Xcode 1.0 - Xcode 2.x (до поддержки iOS)

Xcode 3.0 - Xcode 4.x

Xcode 5.0 - 6.x (с поддержкой arm64)

Xcode 7.0 - 10.x (начиная с бесплатной разработки на устройстве)

Xcode 11.x - 13.x (начиная с платформы SwiftUI)

История версий
Версия Строить Дата выхода min macOS для запуска SDK для macOS iOS SDK включен watchOS SDK включен tvOS SDK включен Примечания

11.0

11A420a 20 сентября 2019 г., 10.14.4 10,15 (19A547) iOS 13.0 (17A566) watchOS 6.0 (17R566) tvOS 13.0 (17J559)

11.1

11A1027 7 октября 2019 г., iOS 13.1 (17A820)

11.2

11B52 31 октября 2019 г., 10.15.1 (19Б81) iOS 13.2 (17B80) watchOS 6.1 (17S80) tvOS 13.2 (17K81)

11.2.1

11B500 12 ноября 2019 г., 10.15.1 (19B89) iOS 13.2 (17B102) tvOS 13.2 (17K90)

11,3

11C29 10 декабря 2019 г., 10.15.2 (19Б90)

11.3.1

11C505 13 января 2020 г.

11,4

11E146 24 марта 2020 г. 10.15.2 10.15.4 (19E258) iOS 13.4 (17E255) watchOS 6.2 (17T255) tvOS 13.4 (17L255)

11.4.1

11E503a 15 апреля 2020 г. iOS 13.4 (17E8258)

11,5

11E608c 20 мая, 2020 iOS 13.5 (17F65)

11,6

11E708 15 июля 2020 г. 10.15.6 (19G68) iOS 13.6 (17G64)

11,7

11E801a 1 сентября 2020 г. iOS 13.7 (17H22)

12.0

12A7209 16 сентября 2020 г. 10.15.4 (Mac на базе Intel)
11.0 (Apple Silicon Mac)
iOS 14 (18A390) watchOS 7 (18R382) tvOS 14 (18J390)

12.0.1

12A7300 24 сентября 2020 г.

12.1

12A7403 20 октября 2020 г. iOS 14.1 (18A8394)

12.1.1 RC

12A7605b 30 октября 2020 г. iOS 14.2 (18B79) watchOS 7.1 (18R579) tvOS 14.2 (18K54)

12.2

12B45b 12 ноября 2020 г. 11,0 (20A2408)

12,3

12C33 14 декабря 2020 г. 11,1 (20C63) iOS 14.3 (18C61) watchOS 7.2 (18S561) tvOS 14.3 (18K559)

12,4

12D4e 26 января 2021 г. iOS 14.4 (18D46)

12,5

12E262 26 апреля 2021 г. 11.0 11,3 (20E214) iOS 14.5 (18E182) watchOS 7.4 (18T187) tvOS 14.5 (18L191)

12.5.1

12E507 21 июня 2021 г.

13,0

13A233 20 сентября 2021 г. 11,3 iOS 15.0 (19A339) watchOS 8.0 (19R341) tvOS 15.0 (19J344)

13.1 RC

13A1030d 18 октября 2021 г. 12.0 iOS 15.0 (19A339) watchOS 8.0.1 (19R351) tvOS 15.0 (19J344)
Версия Строить Дата выхода min macOS для запуска SDK для macOS iOS SDK включен watchOS SDK включен tvOS SDK включен Примечания

Версии Toolchain

Снято с производства Текущий выпуск Бета

Xcode 1.0 - Xcode 2.x (до поддержки iOS)

Xcode 3.0 - Xcode 4.x

Xcode 5.0 - 6.x (с поддержкой arm64)

Xcode 7.0 - 10.x (начиная с бесплатной разработки на устройстве)

Xcode 11.x - 13.x (начиная с платформы SwiftUI)

История версий Toolchain
Xcode cctools ld64 LLVM Строка версии Clang Строка версии Swift

11.0

949.0.1 512,4 8.0.0 11.0.0 (clang-1100.0.33.8) 5.1 (swiftlang-1100.0.270.13 clang-1100.0.33.7)

11.1

949.0.1 512,4 8.0.0 11.0.0 (clang-1100.0.33.8) 5.1 (swiftlang-1100.0.270.13 clang-1100.0.33.7)

11.2

949.0.1 520 8.0.0 11.0.0 (clang-1100.0.33.12) 5.1.2 (swiftlang-1100.0.278 clang-1100.0.33.9)

11.2.1

949.0.1 520 8.0.0 11.0.0 (clang-1100.0.33.12) 5.1.2 (swiftlang-1100.0.278 clang-1100.0.33.9)

11,3

949.0.1 530 8.0.0 11.0.0 (clang-1100.0.33.16) 5.1.3 (swiftlang-1100.0.282.1 clang-1100.0.33.15)

11.3.1

949.0.1 530 8.0.0 11.0.0 (clang-1100.0.33.17) 5.1.3 (swiftlang-1100.0.282.1 clang-1100.0.33.15)

11,4

959.0.1 556,5 9.0.0 11.0.3 (clang-1103.0.32.29) 5.2 (swiftlang-1103.0.32.1 clang-1103.0.32.29)

11.4.1

959.0.1 556,6 9.0.0 11.0.3 (лязг-1103.0.32.59) 5.2.2 (swiftlang-1103.0.32.6 clang-1103.0.32.51)

11,5

959.0.1 556,6 9.0.0 11.0.3 (clang-1103.0.32.62) 5.2.4 (swiftlang-1103.0.32.9 clang-1103.0.32.53)

11,6

959.0.1 556,6 9.0.0 11.0.3 (clang-1103.0.32.62) 5.2.4 (swiftlang-1103.0.32.9 clang-1103.0.32.53)

11,7

959.0.1 556,6 9.0.0 11.0.3 (clang-1103.0.32.62) 5.2.4 (swiftlang-1103.0.32.9 clang-1103.0.32.53)

12.0

973.0.1 609 10.0.0 12.0.0 (лязг-1200.0.32.2) 5.3 (swiftlang-1200.0.29.2 clang-1200.0.30.1)

12.0.1

973.0.1 609 10.0.0 12.0.0 (лязг-1200.0.32.2) 5.3 (swiftlang-1200.0.29.2 clang-1200.0.30.1)

12.1

973.0.1 609 10.0.0 12.0.0 (лязг-1200.0.32.21) 5.3 (swiftlang-1200.0.29.2 clang-1200.0.30.1)

12.1.1 RC

973.0.1 609 10.0.0 12.0.0 (лязг-1200.0.32.21) 5.3 (swiftlang-1200.0.29.2 clang-1200.0.30.1)

12.2

973,4 609,7 10.0.0 12.0.0 (лязг-1200.0.32.27) 5.3.1 (swiftlang-1200.0.41 clang-1200.0.32.8)

12,3

977,1 609,8 10.0.0 12.0.0 (лязг-1200.0.32.28) 5.3.2 (swiftlang-1200.0.45 clang-1200.0.32.28)

12,4

977,1 609,8 10.0.0 12.0.0 (лязг-1200.0.32.29) 5.3.2 (swiftlang-1200.0.45 clang-1200.0.32.28)

12,5

980 650,9 11.1.0 12.0.5 (лязг-1205.0.22.9) 5.4 (swiftlang-1205.0.26.9 clang-1205.0.19.55)

12.5.1

980,1 650,9 11.1.0 12.0.5 (лязг-1205.0.22.11) 5.4.2 (swiftlang-1205.0.28.2 clang-1205.0.19.57)

13,0

986 711 12.0.0 13.0.0 (clang-1300.0.29.3) 5.5 (swiftlang-1300.0.31.1 clang-1300.0.29.1)

13.1 RC

986 711 12.0.0 13.0.0 (clang-1300.0.29.3) 5.5.1 (swiftlang-1300.0.31.4 clang-1300.0.29.6)
Xcode cctools ld64 LLVM Строка версии Clang Строка версии Swift

Смотрите также

использованная литература

внешние ссылки