Открыть сервис

iOS SDK

iOS SDK — это комплект средств разработки (Software Development Kit) для создания приложений под операционную систему iOS, выпускаемый компанией Apple. iOS SDK включает в себя набор фреймворков, библиотек, инструментов командной строки, эмулятор устройств и среду разработки Xcode. Он предоставляет разработчикам доступ к аппаратным и программным возможностям устройств Apple (iPhone, iPad, iPod touch), а также к сервисам компании, таким как iCloud, Apple Pay и Push-уведомления.

История

Первый выпуск (2008)

Первая версия iOS SDK была анонсирована 6 марта 2008 года одновременно с выходом iPhone OS 2.0. До этого момента сторонние разработчики могли создавать только веб-приложения, работающие через Safari. Релиз SDK стал ответом на растущий спрос на нативные приложения и давление со стороны конкурентов (в частности, Android). Первый SDK включал инструменты для работы с UIKit, Core Graphics, Core Animation и базовыми сетевыми протоколами.

Эволюция версий

Каждый крупный релиз iOS (ранее iPhone OS) сопровождался обновлением SDK. Ключевые вехи:

  • iOS 3.0 (2009): добавлена поддержка Push-уведомлений, покупок внутри приложений (In-App Purchase), Bluetooth-профилей.
  • iOS 4.0 (2010): введена многозадачность для сторонних приложений, добавлены блоки (blocks), Grand Central Dispatch (GCD).
  • iOS 5.0 (2011): представлен iCloud SDK, автоматическая ссылка на Storyboards.
  • iOS 7.0 (2013): кардинальное изменение визуального стиля (плоский дизайн), новые API для работы с датчиками (M7 сопроцессор).
  • iOS 8.0 (2014): открыты расширения (Extensions), HealthKit, HomeKit, Swift — новый язык программирования.
  • iOS 10.0 (2016): SiriKit, CallKit, Message Apps.
  • iOS 13.0 (2019): SwiftUI — декларативный фреймворк для построения интерфейсов, Sign in with Apple.
  • iOS 16.0 (2022): Live Activities, улучшенный Metal 3, API для работы с камерой в режиме реального времени.

Состав и архитектура

Основные компоненты

iOS SDK состоит из нескольких уровней, каждый из которых предоставляет определённый набор функций:

  • Cocoa Touch — слой пользовательского интерфейса: UIKit, MapKit, iAd (устарел), PushKit.
  • Media — обработка аудио, видео и графики: AVFoundation, Core Media, Core Audio, Metal, SceneKit.
  • Core Services — системные службы: Core Data, Core Location, Core Motion, CloudKit, HealthKit, HomeKit.
  • Core OS — низкоуровневые возможности: Accelerate, Security, Darwin (BSD-подобная основа).

Инструменты разработки

  • Xcode — интегрированная среда разработки (IDE), включающая редактор кода, Interface Builder для визуального проектирования интерфейсов, отладчик, профилировщик Instruments.
  • Simulator — эмулятор устройств iOS, позволяющий тестировать приложения без физического девайса.
  • Swift Playgrounds — интерактивная среда для изучения Swift и прототипирования.
  • Command Line Tools — набор утилит (xcodebuild, instruments, simctl) для автоматизации сборки и тестирования.

Языки программирования

Objective-C

Исторически основной язык разработки под iOS. Объектно-ориентированное расширение языка C, использующее динамическую диспетчеризацию сообщений. До 2014 года был единственным официальным языком для iOS SDK.

Swift

Представлен в 2014 году как более современная и безопасная альтернатива. Swift сочетает производительность компилируемого языка с выразительностью скриптовых. Начиная с iOS 12, Apple рекомендует Swift как предпочтительный язык для новых проектов. Swift поддерживает протоколы, замыкания, опциональные типы и автоматическое управление памятью (ARC).

C/C++

Используется для низкоуровневого программирования, работы с Metal, аудио- и видеокодеками, а также для интеграции с существующими библиотеками на C.

Фреймворки и API

UIKit

Основной фреймворк для построения пользовательских интерфейсов. Включает классы для окон, представлений, контроллеров, жестов, анимаций. UIKit работает в однопоточном цикле событий (RunLoop).

SwiftUI

Декларативный фреймворк, представленный в iOS 13. Позволяет описывать интерфейс в виде структуры данных, автоматически обновляя его при изменении состояния. SwiftUI использует реактивное программирование и интегрируется с Combine.

Core Data

Фреймворк для управления моделью данных и постоянным хранением. Предоставляет объектно-реляционное отображение (ORM), поддержку версионирования схемы и автоматическое кэширование.

Metal

Низкоуровневый графический и вычислительный API, заменяющий OpenGL ES. Обеспечивает прямой доступ к GPU, поддерживает параллельные вычисления, рендеринг в реальном времени и машинное обучение на устройстве (Core ML).

Core ML

Фреймворк для интеграции моделей машинного обучения в приложения. Поддерживает форматы TensorFlow, PyTorch, Keras. Модели выполняются локально на устройстве, что обеспечивает конфиденциальность данных.

CloudKit

Облачная платформа для хранения данных и синхронизации между устройствами. Предоставляет базы данных (публичные и приватные), push-уведомления, аутентификацию через Apple ID.

HealthKit

Фреймворк для работы с данными о здоровье и фитнесе. Позволяет читать и записывать показатели (пульс, шаги, сон) с разрешения пользователя. Интегрируется с Apple Watch.

HomeKit

Платформа для управления умным домом. Предоставляет API для взаимодействия с устройствами IoT (освещение, замки, термостаты) через протокол HAP (HomeKit Accessory Protocol).

SiriKit

API для интеграции сторонних приложений с голосовым ассистентом Siri. Разработчики могут регистрировать интенты (Intents) — действия, которые Siri может выполнять (отправка сообщений, бронирование, поиск).

Процесс разработки

Регистрация в программе Apple Developer

Для распространения приложений через App Store требуется платная подписка Apple Developer Program (стоимость на 2024 год — 99 долларов США в год для физических лиц, 299 долларов для организаций). Бесплатная учётная запись позволяет тестировать приложения только на устройстве разработчика.

Жизненный цикл приложения

  1. Проектирование — определение функциональности, создание макетов в Interface Builder или Sketch.
  2. Разработка — написание кода на Swift/Objective-C, использование фреймворков SDK.
  3. Тестированиемодульное тестирование (XCTest), UI-тестирование, тестирование на симуляторе и реальных устройствах.
  4. Сборка — компиляция в бинарный файл (IPA), подпись цифровым сертификатом.
  5. Публикация — загрузка в App Store Connect, прохождение ревью Apple (обычно 1–3 дня).
  6. Распространение — публикация в App Store, поддержка обновлений через App Store.

Ограничения и политика Apple

Песочница (Sandbox)

Каждое приложение работает в изолированной среде (sandbox). Оно имеет доступ только к своей директории в файловой системе, к данным, явно разрешённым пользователем (контакты, фото, местоположение), и к системным API через строго определённые интерфейсы.

Ревью приложений

Все приложения перед публикацией проходят проверку Apple на соответствие правилам App Store. Запрещены:

  • Приложения, нарушающие авторские права (пиратство, нелицензионный контент).
  • Приложения, собирающие личные данные без явного согласия.
  • Приложения, содержащие неприемлемый контент (порнография, жестокость, разжигание ненависти).
  • Приложения, имитирующие системные функции или интерфейс iOS.
  • Приложения, использующие недокументированные API или приватные фреймворки.

Отзыв сертификатов

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

Альтернативы и критика

Кросс-платформенные решения

  • Flutter (Google) — использует собственный движок рендеринга, не требует iOS SDK напрямую.
  • React Native (Meta — организация признана экстремистской и запрещена в РФ) — транслирует JavaScript в нативные компоненты.
  • Xamarin (Microsoft) — позволяет писать на C#, используя обёртки над iOS SDK.

Эти решения критикуются за меньшую производительность по сравнению с нативным кодом и задержки в поддержке новых API Apple.

Критика закрытости

Apple ограничивает доступ к некоторым функциям (например, NFC в полном объёме, фоновые процессы, альтернативные магазины приложений). В 2024 году под давлением Закона о цифровых рынках (DMA) в Европейском союзе Apple разрешила установку приложений из сторонних магазинов, но с сохранением комиссии и проверок.

Интересные факты

  • Первое приложение, созданное с помощью iOS SDK, было выпущено в июле 2008 года — это была игра «Super Monkey Ball».
  • Исходный код iOS SDK частично основан на коде macOS SDK (Cocoa), который, в свою очередь, берёт корни из NeXTSTEP.
  • Swift был разработан Крисом Латтнером, ранее работавшим над LLVM и Clang.
  • В 2010 году Apple ввела ограничение на использование сторонних инструментов для разработки (раздел 3.3.1 лицензионного соглашения), что вызвало критику со стороны сообщества. Позднее это ограничение было смягчено.

Источники

  • Apple Developer Documentation (developer.apple.com/documentation)
  • «iOS Programming: The Big Nerd Ranch Guide» (6th edition, 2019)
  • «Swift Programming: The Big Nerd Ranch Guide» (3rd edition, 2021)
  • Официальный блог Apple Swift (swift.org/blog)
  • «The History of iOS» — Ars Technica (2017)
  • «Inside iOS SDK» — WWDC Sessions (2008–2024)

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →