iOS (ранее iPhone OS ) [6] — мобильная операционная система , разработанная компанией Apple Inc. исключительно для своих смартфонов . Он был представлен в январе 2007 года для iPhone первого поколения [7] , выпущенного в июне 2007 года.
Это операционная система, на которой работают многие мобильные устройства компании, включая iPhone . Он также использовался на iPad (выпущен в январе 2010 г.; доступен в апреле 2010 г.) до появления iPadOS в 2019 г., а также на устройствах iPod Touch , производство которых было прекращено в середине 2022 г. [8] Это вторая по распространенности мобильная операционная система в мире после Android . Она является основой для трех других операционных систем Apple: iPadOS, tvOS и watchOS . [9]
По состоянию на декабрь 2023 года [обновлять]в Apple App Store содержится более 3,8 миллиона приложений для iOS. [10] Эти мобильные приложения в совокупности были загружены более 130 миллиардов раз.
iOS основана на MacOS . Как и macOS, он включает в себя компоненты микроядра Mach и FreeBSD . [11] [12] Это Unix-подобная операционная система. Хотя некоторые части iOS имеют открытый исходный код в соответствии с лицензией Apple Public Source License [13] и другими лицензиями, [14] iOS является проприетарным программным обеспечением. [15] [16]
Основные версии iOS выпускаются ежегодно. Текущая стабильная версия iOS 17 была выпущена для публики 18 сентября 2023 года. [17]
В 2005 году, когда Стив Джобс начал планировать iPhone , у него был выбор: «уменьшить Mac, что было бы грандиозным инженерным достижением, или увеличить iPod». Джобс отдавал предпочтение первому подходу, но настроил команды Macintosh и iPod во главе со Скоттом Форстоллом и Тони Фаделлом соответственно друг с другом во внутреннем соревновании, в котором Форстолл победил, создав ОС для iPhone. Это решение обеспечило успех iPhone как платформы для сторонних разработчиков: использование в качестве основы известной настольной операционной системы позволило многим сторонним разработчикам Mac писать программное обеспечение для iPhone с минимальной переподготовкой. Форстолл также отвечал за создание пакета разработки программного обеспечения для программистов, позволяющего создавать приложения для iPhone, а также за создание App Store в iTunes . [18] [19]
Операционная система была представлена вместе с iPhone на конференции Macworld Conference & Expo 9 января 2007 года и выпущена в июне того же года. [20] [21] [22] Во время его презентации в январе Стив Джобс заявил: «iPhone работает под управлением OS X» и запускает «приложения настольного класса», [23] [24] но на момент выпуска iPhone операционная система была переименована в «iPhone OS». [25] Первоначально сторонние приложения не поддерживались. Аргументация Джобса заключалась в том, что разработчики могут создавать веб-приложения через веб-браузер Safari , которые «будут вести себя как собственные приложения на iPhone». [26] [27] В октябре 2007 года Apple объявила, что собственный комплект разработки программного обеспечения (SDK) находится в стадии разработки и что они планируют передать его «в руки разработчикам в феврале». [28] [29] [30] 6 марта 2008 года Apple провела пресс-конференцию, анонсировав iPhone SDK. [31] [32]
iOS App Store был открыт 10 июля 2008 года, и в нем было доступно первоначально 500 приложений. [33] Это число быстро выросло до 3000 в сентябре 2008 г., [34] 15 000 в январе 2009 г., [35] 50 000 в июне 2009 г., [36] 100 000 в ноябре 2009 г., [37] [38] 250 000 в августе 2010 г., [39] [40] 650 000 в июле 2012 года, [41] 1 миллион в октябре 2013 года, [42] [43] 2 миллиона в июне 2016 года, [44] [45] [46] и 2,2 миллиона в январе 2017 года. [47] [48 ] ] По состоянию на март 2016 года [обновлять]1 миллион приложений изначально совместимы с планшетным компьютером iPad . [49] Эти приложения в совокупности были загружены более 130 миллиардов раз. [44] По оценкам компании Sensor Tower, занимающейся разведкой приложений, к 2020 году в App Store будет 5 миллионов приложений. [50]
В сентябре 2007 года Apple анонсировала iPod Touch — обновленный iPod , основанный на форм-факторе iPhone. [51] 27 января 2010 года Apple представила свой долгожданный медиапланшет iPad с экраном большего размера, чем у iPhone и iPod Touch, предназначенным для просмотра веб-страниц, просмотра мультимедиа и чтения, а также предлагающим мультитач-взаимодействие . с мультимедийными форматами, включая газеты, электронные книги, фотографии, видео, музыку, текстовые документы, видеоигры и большинство существующих приложений для iPhone, на экране с диагональю 9,7 дюйма (25 см). [52] [53] [54] Он также включает мобильную версию Safari для просмотра веб-страниц, а также доступ к App Store, библиотеке iTunes , iBookstore , контактам и заметкам. Контент можно загрузить через Wi-Fi и дополнительную услугу 3G или синхронизировать через компьютер пользователя. [55] Первоначально AT&T была единственным поставщиком беспроводного доступа 3G для iPad в США. [56]
В июне 2010 года Apple переименовала ОС iPhone в iOS. [57] [58] Товарный знак «IOS» использовался Cisco более десяти лет для своей операционной системы IOS , используемой на ее маршрутизаторах. Чтобы избежать возможного судебного процесса, Apple лицензировала торговую марку «IOS» у Cisco. [59]
Умные часы Apple Watch были анонсированы Тимом Куком 9 сентября 2014 года и представлены как продукт, предназначенный для отслеживания здоровья и фитнеса. [60] [61] Он был выпущен 24 апреля 2015 года. [62] [63] [64] В качестве операционной системы он использует watchOS ; watchOS основана на iOS, с новыми функциями, созданными специально для Apple Watch, такими как приложение для отслеживания активности. [65]
В октябре 2016 года Apple открыла свою первую Академию разработчиков iOS в Неаполе на территории нового кампуса Неаполитанского университета имени Федерико II . [66] [67] Курс совершенно бесплатный и направлен на приобретение конкретных технических навыков по созданию и управлению приложениями для платформ экосистемы Apple . [68] В академии также изучаются вопросы бизнес-администрирования (бизнес-планирование и управление бизнесом с акцентом на цифровые возможности) и есть специальность, посвященная проектированию графических интерфейсов . Студенты имеют возможность принять участие в «Enterprise Track» — углубленном обучении на протяжении всего жизненного цикла приложения, от проектирования до реализации, безопасности, устранения неполадок , хранения данных и использования облака. [69] [70] По состоянию на 2020 год академия выпустила почти тысячу студентов со всего мира, которые работали над 400 идеями приложений и уже опубликовали около 50 приложений в iOS App Store . В 2018–2019 учебном году приехали студенты из более чем 30 стран мира. 35 из них были выбраны для участия во Всемирной конференции разработчиков — ежегодной конференции разработчиков Apple, которая ежегодно проводится в Калифорнии в начале июня. [71] [72]
3 июня 2019 года на конференции WWDC 2019 была анонсирована iPadOS , фирменная версия iOS для iPad; он был запущен 25 сентября 2019 года. [73]
Пользовательский интерфейс iOS основан на прямом манипулировании с использованием мультитач- жестов, таких как смахивание , касание , сведение и обратное сведение . Элементы управления интерфейсом включают ползунки, переключатели и кнопки. [74] Внутренние акселерометры используются некоторыми приложениями для реагирования на встряхивание устройства (один из распространенных результатов — это команда отмены ) или вращение его в трех измерениях (один из распространенных результатов — переключение между книжным и альбомным режимами). Различные специальные возможности , описанные в § Функции специальных возможностей, позволяют пользователям с нарушениями зрения и слуха правильно использовать iOS. [75]
Устройства iOS загружаются на экран блокировки. На экране блокировки отображается время и виджеты экрана блокировки пользователя, которые отображают своевременную информацию из приложений. [76] После разблокировки пользователь попадает на главный экран, который является основным навигационным и информационным «центром» на устройствах iOS, аналогично рабочему столу на персональных компьютерах. Домашние экраны iOS обычно состоят из значков приложений и виджетов ; значки приложений запускают соответствующее приложение, тогда как виджеты отображают автоматически обновляемый контент в режиме реального времени, например прогноз погоды , почтовый ящик пользователя или бегущую строку новостей, прямо на главном экране. [77]
В верхней части экрана находится строка состояния, показывающая информацию об устройстве и его подключении. Центр управления можно «вытащить» вниз из верхнего правого края выреза (на iPhone с Face ID ) или можно «вытянуть» вверх снизу вверх (на iPhone с Touch ID ), предоставляя доступ к различным позволяет быстрее управлять устройством без необходимости открывать настройки. Можно управлять яркостью, громкостью, беспроводными соединениями, музыкальным проигрывателем и т. д. [78]
Прокрутка сверху слева вниз (или сверху вниз на iPhone с Touch ID) откроет Центр уведомлений , который в последних версиях iOS очень похож на экран блокировки. Он отображает уведомления в хронологическом порядке и группирует их по приложениям. Из уведомлений некоторых приложений можно напрямую взаимодействовать, например, отвечая на сообщение прямо из них. Уведомления отправляются в двух режимах: критические оповещения, которые отображаются на экране блокировки и сопровождаются характерным звуком и вибрацией (например, оповещения о чрезвычайных ситуациях или оповещения о суровых погодных условиях ), сопровождаемые предупреждающим баннером и значком приложения, и стандартные оповещения, которые используют звук и вибрация по умолчанию. Оба можно найти в Центре уведомлений и они отображаются в течение определенного времени на экране блокировки (если только у пользователя не разрешен Центр уведомлений при блокировке). [79] [80]
На iPhone с Touch ID скриншоты можно создавать при одновременном нажатии кнопок «Домой» и «Питание». По сравнению с Android , где кнопки необходимо удерживать нажатыми, на iOS достаточно короткого нажатия. [81] На iPhone с Face ID снимки экрана делаются с помощью кнопок увеличения громкости и питания. [82]
До iOS 7 в приложении камеры использовалась скевоморфная анимация закрытия затвора камеры. С тех пор оно использует простой эффект кратковременного затемнения. [83] Заметные дополнения со временем включают HDR-фотографию и возможность одновременного сохранения фотографий как в обычном, так и в расширенном динамическом диапазоне, где первая предотвращает появление ореолов от движущихся объектов (начиная с iPhone 5 на iOS 6 ), автоматическую настройку HDR (начиная с iOS 7.1 ), «живое фото» с коротким видео, прикрепленным к каждой фотографии, если оно включено ( iPhone 6s , iOS 9 ), и ярлыком цифрового масштабирования ( iPhone 7 Plus , iOS 10 ). [84] [85] [86] Некоторые настройки камеры, такие как разрешение видео и частота кадров, не настраиваются через сам интерфейс камеры, а передаются настройкам системы. [87]
Новая функция iOS 13 под названием «контекстные меню» показывает соответствующие действия, когда вы касаетесь и удерживаете элемент. При отображении контекстного меню фон размывается. [88]
Для выбора из нескольких вариантов используется элемент управления выбором. Селекторы могут отображаться прикрепленными внизу или в соответствии с содержимым (так называемые селекторы дат). Селекторы дат имеют вид любого другого элемента управления выбором, но со столбцом для дня, месяца и, при необходимости, года.
Оповещения появляются в центре экрана, но есть также оповещения, которые прокручиваются вверх от нижней части экрана (так называемые «панели действий»). Разрушительные действия (например, устранение любого элемента) окрашены в красный цвет.
Официальный шрифт iOS — San Francisco . Он разработан для удобства чтения небольшого текста и используется во всей операционной системе, включая сторонние приложения. [88]
Размер значков составляет 180x180 пикселей для iPhone с большим экраном (обычно это модели с экраном более 6 дюймов, включая iPhone 11 Pro и iPhone 8 Plus ), а на iPhone с меньшими дисплеями они имеют размер 120x120 пикселей. [89]
На главном экране, созданном с помощью SpringBoard , отображаются значки приложений и док-станция внизу, где пользователи могут закреплять наиболее часто используемые приложения. Домашние экраны iOS обычно состоят из значков приложений и виджетов ; значки приложений запускают соответствующее приложение, тогда как виджеты отображают автоматически обновляемый контент в режиме реального времени, например прогноз погоды , почтовый ящик пользователя или бегущую строку новостей, прямо на главном экране. [90] Главный экран появляется всякий раз, когда пользователь разблокирует устройство, нажимает физическую кнопку «Домой» в приложении или проводит пальцем вверх от нижней части экрана с помощью домашней панели. [91] В верхней части экрана имеется строка состояния для отображения таких данных, как время, уровень заряда батареи и уровень сигнала. Остальная часть экрана отведена текущему приложению. Когда пароль установлен и пользователь включает устройство, код доступа необходимо ввести на экране блокировки, прежде чем будет предоставлен доступ к главному экрану. [92]
В iPhone OS 3 был представлен Spotlight , позволяющий пользователям осуществлять поиск в мультимедиа, приложениях, электронной почте, контактах, сообщениях, напоминаниях, событиях календаря и аналогичном контенте. В iOS 7 и более поздних версиях доступ к Spotlight можно получить, потянув вниз в любом месте главного экрана (за исключением верхнего и нижнего краев, которые открывают Центр уведомлений и Центр управления). [93] [94] В iOS 9 существует два способа доступа к Spotlight. Как и в iOS 7 и 8, при перемещении вниз на любом главном экране появится Spotlight. Однако к нему также можно получить доступ, как и в версиях iOS с 3 по 6. Это обеспечивает Spotlight предложениями Siri, которые включают предложения приложений, предложения контактов и новости. [95] В iOS 10 Spotlight находится в верхней части специальной панели «Сегодня». [96]
Начиная с iOS 3.2 , пользователи могут устанавливать фоновое изображение для главного экрана. Эта функция доступна только на устройствах третьего поколения — iPhone 3GS , iPod Touch третьего поколения (iOS 4.0 или новее) и всех моделях iPad (начиная с iOS 3.2) — или новее. [ нужна цитата ]
В iOS 7 на главном экране появился эффект параллакса, который смещает обои и значки устройства в ответ на движение устройства, создавая 3D-эффект и иллюзию плавающих значков. Этот эффект также виден во вкладках Mail и Safari. [97]
Исследователи обнаружили, что пользователи упорядочивают значки на своих домашних экранах в зависимости от частоты использования и родства приложений, а также из соображений удобства использования и эстетики. [98]
iOS изначально использовала Helvetica в качестве системного шрифта. Apple перешла на Helvetica Neue исключительно для iPhone 4 и его дисплея Retina и сохранила Helvetica в качестве системного шрифта для старых устройств iPhone на iOS 4. [99] В iOS 7 Apple объявила, что изменит системный шрифт на Helvetica Neue Light. , решение, которое вызвало критику за ненадлежащее использование легкого и тонкого шрифта для мобильных экранов с низким разрешением. Вместо этого Apple в конечном итоге выбрала Helvetica Neue. [100] [101] В выпуске iOS 7 также появилась возможность масштабировать текст или применять другие формы изменений доступности текста через настройки. [102] [103] В iOS 9 компания Apple изменила шрифт на San Francisco — шрифт, разработанный Apple, призванный обеспечить максимальную разборчивость и единообразие шрифтов во всей линейке продуктов. [104] [105]
В iOS 4 появились папки, которые можно создавать, перетаскивая одно приложение поверх другого, и с этого момента в папку можно добавлять больше элементов, используя ту же процедуру. Название папки выбирается автоматически в зависимости от категории приложений внутри, но имя также может быть отредактировано пользователем. [106] Когда приложения внутри папок получают значки уведомлений, отдельные количества уведомлений суммируются, а общее количество отображается в виде значка уведомлений в самой папке. [106] Первоначально папки на iPhone могли содержать до 12 приложений, а папки на iPad — до 20. [107] С увеличением размеров дисплея на новом оборудовании iPhone iOS 7 обновила папки страницами, похожими на макет главного экрана. что позволяет значительно расширить функциональность папок. Каждая страница папки может содержать до девяти приложений, всего может быть 15 страниц, что позволяет разместить в общей сложности 135 приложений в одной папке. [108] В iOS 9 Apple обновила размеры папок для оборудования iPad, позволив размещать 16 приложений на странице, но по-прежнему максимум 15 страниц, в результате чего общее количество приложений увеличилось до 240. [109]
До iOS 5 уведомления доставлялись в модальном окне , и их нельзя было просмотреть после закрытия. В iOS 5 Apple представила Центр уведомлений , который позволяет пользователям просматривать историю уведомлений. Пользователь может нажать на уведомление, чтобы открыть соответствующее приложение, или очистить его. [110] Уведомления теперь доставляются в виде баннеров, которые ненадолго появляются в верхней части экрана. Если пользователь коснется полученного уведомления, откроется приложение, отправившее уведомление. Пользователи также могут выбрать просмотр уведомлений в модальных окнах предупреждений, изменив настройки уведомлений приложения. Виджеты, представленные в iOS 8, теперь доступны через Центр уведомлений, определенный сторонними организациями. [111]
Когда приложение отправляет уведомление, когда оно закрыто, на его значке появляется красный значок. Этот значок сразу сообщает пользователю, сколько уведомлений отправило это приложение. При открытии приложения значок удаляется.
Устройства iOS поставляются с предустановленными приложениями, разработанными Apple, включая «Почту», «Карты», «ТВ», «Музыка», FaceTime, «Кошелек», «Здоровье» и многие другие.
Приложения (« приложения ») — это наиболее распространенная форма прикладного программного обеспечения , которую можно установить на iOS. Они загружаются из официального каталога цифрового магазина App Store , где приложения проходят проверку безопасности, прежде чем стать доступными для пользователей. В июне 2017 года Apple обновила свои рекомендации, указав, что разработчики приложений больше не смогут использовать специальные подсказки для поощрения пользователей оставлять отзывы о своих приложениях. [112] [113] Приложения IOS также можно установить неофициальными способами непосредственно из файла IPA, предоставленного дистрибьютором программного обеспечения. Они написаны с использованием iOS Software Development Kit (SDK) и, часто, в сочетании с Xcode , с использованием официально поддерживаемых языков программирования, включая Swift и Objective-C . Другие компании также создали инструменты, позволяющие разрабатывать собственные приложения для iOS с использованием соответствующих языков программирования.
Приложения для iOS в основном создаются с использованием компонентов UIKit , среды программирования. Это позволяет приложениям иметь единообразный внешний вид с ОС, тем не менее предлагая настройку.
Элементы автоматически обновляются вместе с обновлениями iOS, автоматически включая новые правила интерфейса. Элементы UIKit легко адаптируются, что позволяет разработчикам создавать одно приложение, которое одинаково выглядит на любом устройстве iOS. Помимо определения интерфейса iOS, UIKit определяет функциональность приложения.
Поначалу Apple не собиралась выпускать SDK для разработчиков, поскольку они не хотели, чтобы сторонние приложения разрабатывались для iOS, а вместо этого создавали веб-приложения . Однако эта технология так и не вошла в широкое распространение, это заставило Apple изменить свое мнение, поэтому в октябре 2007 года был анонсирован SDK для разработчиков, наконец выпущенный 6 марта 2008 года.
SDK включает в себя полный набор инструментов разработки, [114] включая аудиомикшер и симулятор iPhone. Это бесплатная загрузка для пользователей Mac . Он недоступен для ПК с Microsoft Windows . Чтобы протестировать приложение, получить техническую поддержку и распространять приложения через App Store , разработчикам необходимо подписаться на программу Apple Developer Program.
За прошедшие годы количество приложений Apple Store превысило несколько важных показателей, в том числе 50 000, [115] 100 000, [116] 250 000, [117] 500 000, [118] 1 миллион, [119] и 2 миллиона приложений. [120] Миллиардное приложение было установлено 24 апреля 2009 года. [121]
Библиотека приложений автоматически распределяет приложения по папкам в зависимости от их функции или типа и включает алфавитный список всех установленных приложений. Например, он может сгруппировать все приложения социальных сетей в одну папку, а приложения для повышения производительности — в другую. [122] Пользователи могут быстро находить приложения и получать к ним доступ, используя панель поиска в верхней части библиотеки приложений. Пользователи могут скрыть определенные страницы приложений с главного экрана, что позволяет им сосредоточиться на приложениях, которые они используют чаще всего. [123]
iOS обеспечивает строгую изолированную программную среду для обеспечения безопасности и конфиденциальности. Приложения обычно ограничены доступом к своим собственным контейнерам и определенным системным каталогам, таким как библиотека фотографий. Для доступа к файлам за пределами их «песочницы» iOS использует такие механизмы, как средства выбора документов, поставщики файлов и расширения приложений.
В iOS 8 появились расширения Document Picker и Document Provider как часть контроллера взаимодействия с документами. [124] [125] [126] Это позволяет приложениям открывать, сохранять и взаимодействовать с документами, хранящимися в центральном хранилище или в облачных хранилищах.
В iOS 11 Apple представила приложение «Файлы» [127] и расширение File Provider, [128] предоставляющее пользователям центральное место для управления и организации своих файлов. Приложения могут интегрироваться с приложением «Файлы», чтобы сделать их документы доступными и редактируемыми непосредственно из приложения «Файлы».
Хранилище устройств iOS можно расширить с помощью iCloud , облачного решения Apple для хранения данных, которое бесплатно предоставляет всем пользователям 5 ГБ хранилища, в то время как другие планы требуют платной подписки. iCloud Drive позволяет пользователям хранить в облаке различные типы файлов, например документы, презентации и электронные таблицы. Доступ к этим файлам можно получить на нескольких устройствах, если пользователь вошел в систему с одним и тем же Apple ID.
iOS предлагает различные специальные возможности, которые помогут пользователям с нарушениями зрения и слуха. Одна из основных функций, VoiceOver , обеспечивает голосовое чтение информации на экране, включая контекстные кнопки, значки, ссылки и другие элементы пользовательского интерфейса , и позволяет пользователю перемещаться по операционной системе с помощью жестов. Любые приложения с элементами управления по умолчанию, разработанные с использованием платформы UIKit , имеют встроенную функциональность VoiceOver. [129] Один из примеров включает в себя поднятие iPhone, чтобы сделать фотографию, а VoiceOver описывает пейзаж. [130] В рамках программы «Сделано для iPhone», представленной с выпуском iOS 7 в 2013 году, Apple разработала технологию использования Bluetooth и специальный технологический протокол, позволяющий совместимому стороннему оборудованию подключаться к iPhone и iPad для потоковой передачи. звук непосредственно в уши пользователя. Дополнительные настройки, доступные для продуктов Made for iPhone, включают отслеживание заряда батареи и настройку звука для различных условий. [131] [132] Apple приложила дополнительные усилия для обеспечения доступности iOS 10 в 2016 году, добавив в VoiceOver новый редактор произношения, добавив настройку лупы для увеличения объектов с помощью камеры устройства, программную поддержку телетайпа для глухих людей, чтобы сделать телефон звонки с iPhone, а также предоставление учебных пособий и рекомендаций для сторонних разработчиков по включению соответствующих функций специальных возможностей в свои приложения. [133]
В 2012 году Лиат Корновски из The Atlantic написала, что «iPhone оказался одной из самых революционных разработок со времен изобретения Брайля », [134] , а в 2016 году Стивен Акино из TechCrunch назвал Apple «лидером в вспомогательные технологии», а Сара Херрлингер, старший менеджер по глобальной политике и инициативам доступности в Apple, заявила: «Мы рассматриваем доступность как основное право человека. Включение в ядро наших продуктов поддерживает видение инклюзивного мира, в котором возможности и доступ к информация является безбарьерной, что дает людям с ограниченными возможностями возможность достичь своих целей». [135]
Критика была направлена на iOS в зависимости как от подключения к Интернету (Wi-Fi или через iTunes), так и от рабочей SIM-карты при первой активации. [136] Это ограничение было ослаблено в iOS 12, для которой последнее больше не требуется. [137]
Многозадачность для iOS была впервые выпущена в июне 2010 года вместе с выпуском iOS 4 . [138] [139] Только некоторые устройства — iPhone 4 , iPhone 3GS и iPod Touch 3-го поколения — могли работать в многозадачном режиме. [140] iPad не получал многозадачности до iOS 4.2.1 в ноябре того же года . [141]
Реализация многозадачности в iOS подвергалась критике за ее подход, который ограничивает работу, которую могут выполнять приложения в фоновом режиме, ограниченным набором функций и требует от разработчиков приложений добавления явной поддержки для нее. [140] [142]
До iOS 4 многозадачность ограничивалась набором приложений, которые Apple установила на устройство. Однако пользователи могли «взломать джейлбрейк» своего устройства, чтобы неофициально работать в многозадачном режиме. [143] Начиная с iOS 4, на устройствах iOS третьего поколения и более новых многозадачность поддерживается через семь фоновых API : [144]
В iOS 5 были представлены три новых фоновых API:
В iOS 7 Apple представила новую функцию многозадачности, предоставляющую всем приложениям возможность выполнять фоновые обновления. Эта функция предпочитает обновлять наиболее часто используемые пользователем приложения и предпочитает использовать сети Wi-Fi вместо сотовой сети, без заметного сокращения времени автономной работы устройства.
В iOS 4.0–iOS 6.x двойной щелчок кнопки «Домой» активирует переключатель приложений. Снизу появляется прокручиваемый интерфейс в стиле док-станции, перемещающий содержимое экрана вверх. Выбор значка переключает на приложение. В крайнем левом углу находятся значки, которые выполняют функции управления музыкой, блокировки вращения, а на iOS 4.2 и выше — регулятора громкости.
С появлением iOS 7 двойной щелчок по кнопке «Домой» также активирует переключатель приложений. Однако, в отличие от предыдущих версий, поверх значка отображаются снимки экрана открытых приложений, а горизонтальная прокрутка позволяет просматривать предыдущие приложения, а закрывать приложения можно, перетаскивая их вверх, аналогично тому, как WebOS обрабатывала несколько карт. [146]
С выходом iOS 9 переключатель приложений получил значительные визуальные изменения; при сохранении метафоры карты, представленной в iOS 7, значок приложения стал меньше и появляется над снимком экрана (который теперь больше из-за удаления «Последних и избранных контактов»), и каждая «карточка» приложения перекрывает другую. , создавая эффект ролодекса при прокрутке пользователем. Теперь главный экран отображается не в крайнем левом углу переключателя приложений, а в крайнем правом. [147] В iOS 11 переключатель приложений претерпел значительные изменения. В iPad Центр управления и переключатель приложений объединены. Доступ к переключателю приложений на iPad также можно получить, проведя пальцем вверх снизу. В iPhone доступ к переключателю приложений недоступен, если в оперативной памяти нет приложений .
В iOS 4.0–iOS 6.x кратковременное удерживание значков в переключателе приложений заставляет их «покачиваться» (аналогично главному экрану) и позволяет пользователю принудительно закрыть приложения, коснувшись красного круга с минусом, который появляется в углу значка. значок приложения. [148] Очистка приложений от многозадачности не менялась с iOS 4.0 по 6.1.6, последнюю версию iOS 6.
Начиная с iOS 7, этот процесс стал быстрее и проще. В iOS 7 вместо того, чтобы удерживать значки, чтобы закрыть их, они закрываются простым смахиванием вверх по экрану. Одновременно можно удалить до трех приложений по сравнению с одним в версиях до iOS 6.1.6. [149]
Завершение задачи позволяет приложениям продолжить выполнение определенной задачи после того, как приложение было приостановлено. [150] [151] Начиная с iOS 4.0, приложения могут запрашивать до десяти минут для выполнения задачи в фоновом режиме. [152] Однако это не распространяется на фоновую загрузку и выгрузку (например, если пользователь начинает загрузку в одном приложении, она не завершится, если он выйдет из приложения).
Siri ( / ˈ s ɪr i / ) — виртуальный помощник , интегрированный в iOS. Помощник использует голосовые запросы и пользовательский интерфейс на естественном языке , чтобы отвечать на вопросы, давать рекомендации и выполнять действия, делегируя запросы набору интернет-сервисов. Программное обеспечение адаптируется к индивидуальному использованию языка, поисковым запросам и предпочтениям пользователей при непрерывном использовании. Возвращаемые результаты индивидуализированы.
Первоначально выпущенное как приложение для iOS в феврале 2010 года, [153] оно было приобретено Apple два месяца спустя, [154] [155] [156] и затем интегрировано в iPhone 4S при его выпуске в октябре 2011 года. [157] [158 ] ] В то же время отдельное приложение также было удалено из iOS App Store . [159]
Siri поддерживает широкий спектр пользовательских команд, включая выполнение действий на телефоне, проверку основной информации, планирование событий и напоминаний, управление настройками устройства, поиск в Интернете, навигацию по областям, поиск информации о развлечениях, а также возможность взаимодействия с приложениями, интегрированными в iOS. [160] С выпуском iOS 10 в 2016 году Apple открыла ограниченный доступ третьих сторон к Siri, включая сторонние приложения для обмена сообщениями, а также приложения для платежей, совместного использования поездок и интернет-звонков. [161] [162] С выпуском iOS 11 Apple обновила голоса Siri, сделав их более четкими и человеческими. Теперь она поддерживает дополнительные вопросы и языковой перевод, а также дополнительные действия третьих сторон. [163] [164]
Game Center — это многопользовательская онлайновая «социальная игровая сеть» [165], выпущенная Apple. [166] Он позволяет пользователям «приглашать друзей сыграть в игру, начинать многопользовательскую игру посредством подбора игроков, отслеживать их достижения и сравнивать свои лучшие результаты в таблице лидеров ». В iOS 5 и более поздних версиях добавлена поддержка фотографий профиля. [165]
Game Center был анонсирован во время мероприятия по предварительному просмотру iOS 4, организованного Apple 8 апреля 2010 года. Предварительная версия была выпущена для зарегистрированных разработчиков Apple в августе. [165] Он был выпущен 8 сентября 2010 года с iOS 4.1 на iPhone 4 , iPhone 3GS и iPod Touch 2-4 поколений. [167] Game Center публично дебютировал на iPad с iOS 4.2.1. [168] iPhone 3G , оригинальный iPhone и iPod Touch первого поколения не поддерживаются (последние два устройства не имели Game Center, поскольку на них не была установлена iOS 4). [169] Однако Game Center неофициально доступен на iPhone 3G посредством взлома. [170]
Основной аппаратной платформой iOS является архитектура ARM ( ARMv7 , ARMv8-A , ARMv8.2-A , ARMv8.3-A ). Выпуски iOS до iOS 7 можно запускать только на устройствах iOS с 32-разрядными процессорами ARM ( архитектуры ARMv6 и ARMv7-A ). В 2013 году была выпущена iOS 7 с полной поддержкой 64-битной системы (которая включает в себя собственное 64-битное ядро, библиотеки, драйверы, а также все встроенные приложения) [171] после того, как Apple объявила о переходе на 64-битную версию. Процессоры ARMv8-A с появлением чипа Apple A7 . [172] 64-битная поддержка также была введена для всех приложений в App Store ; Все новые приложения, отправленные в App Store с крайним сроком до февраля 2015 г., и все обновления приложений, отправленные в App Store с крайним сроком до 1 июня 2015 г. [173] В iOS 11 прекращается поддержка всех устройств iOS с 32-битными процессорами ARM. а также 32-битные приложения, [174] [175] делая iOS только 64-битной. [176]
iOS SDK ( комплект разработки программного обеспечения ) позволяет разрабатывать мобильные приложения на iOS.
Первоначально разрабатывая iPhone до его презентации в 2007 году, тогдашний генеральный директор Apple Стив Джобс не собирался позволять сторонним разработчикам создавать собственные приложения для iOS, вместо этого поручая им создавать веб-приложения для веб-браузера Safari . [177] Однако негативная реакция со стороны разработчиков побудила компанию пересмотреть свое решение: [177] в октябре 2007 года Джобс объявил, что к февралю 2008 года Apple предоставит разработчикам комплект для разработки программного обеспечения. [178] [179] SDK был выпущен в марте. 6, 2008. [180] [181]
SDK можно загрузить бесплатно для пользователей персональных компьютеров Mac . [182] Оно недоступно для ПК с Microsoft Windows . [182] SDK содержит наборы, предоставляющие разработчикам доступ к различным функциям и сервисам устройств iOS, таким как атрибуты аппаратного и программного обеспечения. [183] Он также содержит симулятор iPhone , позволяющий имитировать внешний вид устройства на компьютере во время разработки. [183] Новые версии SDK сопровождают новые версии iOS. [184] [185] Чтобы тестировать приложения, получать техническую поддержку и распространять приложения через App Store, разработчикам необходимо подписаться на программу Apple Developer Program. [182]
В сочетании с Xcode iOS SDK помогает разработчикам писать приложения для iOS с использованием официально поддерживаемых языков программирования, включая Swift и Objective-C . [186] Другие компании также создали инструменты, позволяющие разрабатывать собственные приложения для iOS с использованием соответствующих языков программирования. [187] [188]
Apple ежегодно предоставляет крупные обновления операционной системы iOS через iTunes , а, начиная с iOS 5, также и по беспроводной сети . [190] Устройство проверяет XML-файл PLIST на сайте mesu.apple.com [ необходима ссылка ] на наличие обновлений. Обновления доставляются в виде незашифрованных ZIP-файлов. Обновления регулярно проверяются, загружаются и устанавливаются автоматически, если они включены. В противном случае пользователь может установить их вручную или ему будет предложено разрешить автоматическую установку в ночное время, если они подключены к сети и подключены к сети Wi-Fi.
Пользователям iPod Touch изначально приходилось платить за обновления системного программного обеспечения из-за правил бухгалтерского учета, которые считали его не «устройством по подписке», как iPhone или Apple TV, [191] [192] из-за чего многие владельцы iPod Touch не обновлялись. [193] В сентябре 2009 года изменение в правилах бухгалтерского учета получило предварительное одобрение, что повлияло на доходы и цену акций Apple, а также позволило бесплатно доставлять обновления iPod Touch. [194] [195]
За последние годы Apple значительно продлила цикл обновлений для устройств с поддержкой iOS. iPhone (1-го поколения) и iPhone 3G получили только два обновления iOS, тогда как более поздние модели имели поддержку в течение пяти, шести и семи лет. [196] [197]
Ядро iOS — это ядро XNU Darwin . Исходная ОС iPhone (1.0) до iPhone OS 3.1.3 использовала Darwin 9.0.0d1. iOS 4 была основана на Darwin 10. iOS 5 была основана на Darwin 11. iOS 6 была основана на Darwin 13. iOS 7 и iOS 8 основана на Darwin 14. iOS 9 основана на Darwin 15. iOS 10 основана на Darwin 16 iOS 11 основана на Darwin 17. iOS 12 основана на Darwin 18. iOS 13 основана на Darwin 19. iOS 14 основана на Darwin 20. iOS 15 основана на Darwin 21. iOS 16 основана на Darwin 22. [ 198]
В iOS 6 ядро подчиняется ASLR , аналогично OS X Mountain Lion . Это усложняет возможности использования эксплойтов, поскольку невозможно узнать расположение кода ядра.
Apple сделала ядро XNU открытым исходным кодом . [199] Исходный код находится под лицензией BSD из 3 пунктов [200] на оригинальные части BSD, а части добавлены Apple в соответствии с лицензией Apple Public Source License. [201] Версии, содержащиеся в iOS, недоступны; доступны только версии, используемые в macOS .
iOS не имеет расширений ядра (кекстов) в файловой системе, даже если они действительно присутствуют. Кэш ядра можно распаковать, чтобы отобразить правильное ядро, а также кексты (все упакованы в разделе __PRELINK_TEXT) и их списки (в разделе __PRELINK_INFO).
Кэш ядра также можно распаковать напрямую (если он расшифрован) с помощью сторонних инструментов. С появлением бета-версий iOS 10 и обычных текстовых кэшей ядра по умолчанию эти инструменты можно использовать только после распаковки и применения lzssdec для распаковки кэша ядра до его полного размера.
Kextstat, предоставляемый альтернативным программным обеспечением Cydia , не работает на iOS kmod_get_info(...)
, поскольку kextstat основан на устаревшем API в iOS 4 и Mac OS X Snow Leopard . Существует другое альтернативное программное обеспечение, которое также может выгружать необработанные данные XML.
На разрабатываемых устройствах ядро всегда хранится в виде статически связанного кеша, хранящегося в /System/Library/Caches/com.apple.kernelcache/kernelcache, который распаковывается и выполняется при загрузке.
Вначале iOS имела версию ядра, обычно более высокую, чем соответствующая версия macOS . Со временем ядра iOS и macOS стали ближе. Это неудивительно, учитывая, что в iOS появились новые функции (такие как ядро ASLR, морозильник по умолчанию и различные функции повышения безопасности), которые были впервые включены и впоследствии появились в macOS. Похоже, что со временем Apple постепенно объединит ядра iOS и macOS. Дата сборки каждой версии незначительно различается в зависимости от процессора. Это связано с тем, что сборки последовательные.
База образа ядра рандомизируется загрузчиком ( iBoot ). Это делается путем создания случайных данных, их хэширования SHA-1, а затем использования байта из хеша SHA-1 для слайда ядра. Слайд рассчитывается по следующей формуле:
база = 0x01000000+(slide_byte*0x00200000)
Если слайд равен 0, вместо него используется статическое смещение 0x21000000.
Скорректированная база передается ядру в структуре аргументов загрузки по адресу offset 0x04
, что эквивалентно gBootArgs->virtBase.
Карта ядра используется для распределения ядра всех типов ( kalloc()
, kernel_memory_allocate()
и т. д.) и охватывает все пространство ядра ( 0x80000000
- 0xFFFEFFFF
). Карты на основе ядра являются подкартами kernel_map
, например zone_map
, ipc_kernel_map
и т. д.
Стратегия состоит в том, чтобы рандомизировать базу kernel_map
. Сразу генерируется случайное 9-битное значение, после kmem_init()
которого устанавливается kernel_map
, умножается на размер страницы. Полученное значение используется в качестве размера первоначального kernel_map
распределения. Будущие kernel_map
распределения (и подкарты) сдвигаются вперед на случайную величину. Выделение автоматически удаляется после первой сборки мусора и используется повторно. Это поведение можно переопределить с помощью kmapoff
параметра загрузки " ".
Kext_request()
позволяет приложениям запрашивать информацию о модулях ядра, разделенную на активные и пассивные операции. Активные операции (загрузка, выгрузка, запуск, остановка и т. д.) требуют root-доступа. iOS удаляет возможность загрузки расширений ядра. Пассивные операции изначально (до iOS 6 ) были неограниченными и позволяли непривилегированным пользователям запрашивать базовые адреса модулей ядра. iOS6 случайно удалила некоторые ограничения; запрещены только запросы адреса загрузки. Таким образом, злоумышленники могут использовать его kKextRequestPredicateGetLoaded
для получения адресов загрузки и дампов заголовков машин. Заголовки адреса загрузки и сегмента mach-o скрыты, чтобы скрыть слайд ASLR, но заголовки разделов mach-o — нет. Это покажет виртуальные адреса загруженных разделов ядра.
Эта утечка информации была закрыта в iOS 6.0.1.
Внутри iOS идентифицирует каждую версию по кодовому имени , которое часто используется только внутри, обычно для сохранения секретности проекта. Например, кодовое имя iOS 17 — Dawn.
С момента своего первого выпуска iOS подвергалась множеству различных хаков, направленных на добавление функций, не разрешенных Apple. [202] До дебюта в 2008 году родного Apple App Store для iOS основным мотивом джейлбрейка был обход механизма покупки Apple для установки собственных приложений из App Store. [203] Apple заявила, что не будет выпускать обновления программного обеспечения iOS, предназначенные специально для взлома этих инструментов (кроме приложений, выполняющих разблокировку SIM-карты ); однако с каждым последующим обновлением iOS обычно исправляются ранее не исправленные эксплойты для джейлбрейка. [204]
Когда устройство загружается, оно изначально загружает собственное ядро Apple , поэтому устройство с джейлбрейком необходимо использовать и исправлять ядро каждый раз, когда оно загружается.
Существуют разные типы джейлбрейка. Непривязанный джейлбрейк использует эксплойты, которые достаточно мощны, чтобы позволить пользователю выключать и снова включать свое устройство по своему желанию, при этом устройство полностью запускается, а ядро будет исправлено без помощи компьютера – другими словами, оно будет исправлено. быть взломанным даже после каждой перезагрузки.
Однако некоторые джейлбрейки привязаны . Привязанный джейлбрейк позволяет временно сделать джейлбрейк устройства только во время одной загрузки. Если пользователь выключит устройство, а затем снова загрузит его без помощи инструмента для взлома, на устройстве больше не будет работать исправленное ядро, и оно может зависнуть в частично запущенном состоянии, например в режиме восстановления. Чтобы устройство запустилось полностью и с исправленным ядром, его необходимо «повторно взломать» с помощью компьютера (с использованием функции «привязанной загрузки») каждый раз при включении. Все изменения в файлах на устройстве (например, файлы установленных пакетов или отредактированные системные файлы) сохранятся между перезагрузками, включая изменения, которые могут работать только в том случае, если устройство взломано (например, файлы установленных пакетов).
В последние годы были созданы еще два решения — полупривязанное и полупривязанное .
Полупривязанное решение — это решение, при котором устройство может запускаться самостоятельно, но у него больше нет исправленного ядра и, следовательно, оно не сможет запускать измененный код. Однако его по-прежнему можно будет использовать для обычных функций, как и стандартную iOS. Чтобы запустить пропатченное ядро, пользователю необходимо запустить устройство с помощью инструмента джейлбрейка.
Полуотвязанный джейлбрейк дает возможность запустить устройство самостоятельно. При первой загрузке на устройстве не будет работать исправленное ядро. Однако вместо того, чтобы запускать инструмент с компьютера для применения исправлений ядра, пользователь может повторно выполнить джейлбрейк своего устройства с помощью приложения (обычно загружаемого с помощью Cydia Impactor), работающего на его устройстве. В случае джейлбрейков iOS 9.2-9.3.3 и 64-битной версии 10.x были доступны эксплойты на основе Safari, что означало, что веб-сайты можно было использовать для повторного джейлбрейка.
Более подробно: каждое устройство iOS имеет загрузочную цепочку, которая пытается гарантировать загрузку только доверенного/подписанного кода. Устройство с привязанным джейлбрейком может загружаться с помощью инструмента для взлома, поскольку этот инструмент выполняет эксплойты через USB, которые обходят части этой «цепочки доверия», загружаясь на взломанный ( без проверки подписи) iBEC или iBoot для завершить процесс загрузки.
С появлением собственного iOS App Store от Apple, а вместе с ним и сторонних приложений, общие мотивы взлома изменились. [205] Люди делают джейлбрейк по разным причинам, включая получение доступа к файловой системе, установку пользовательских тем устройств и модификацию SpringBoard. Дополнительным мотивом является то, что это может позволить установку пиратских приложений. На некоторых устройствах джейлбрейк также позволяет установить альтернативные операционные системы, такие как Android и ядро Linux. В первую очередь пользователи делают джейлбрейк своих устройств из-за ограничений iOS. В зависимости от используемого метода последствия взлома могут быть постоянными или временными. [206]
В 2010 году Electronic Frontier Foundation (EFF) успешно убедил Бюро авторских прав США разрешить исключение из общего запрета на обход систем защиты авторских прав в соответствии с Законом об авторском праве в цифровую эпоху (DMCA). Это исключение позволяет делать джейлбрейк iPhone с единственной целью — разрешить добавление на iPhone законно полученных приложений. [207] Освобождение не затрагивает договорные отношения между Apple и владельцем iPhone, например, взлом джейлбрейка с аннулированием гарантии на iPhone; однако решение о том, будут ли они исправлять взломанные устройства в случае необходимости ремонта, зависит исключительно от решения Apple. В то же время Бюро регистрации авторских прав освободило разблокировку iPhone от запретов DMCA. [208] Разблокировка iPhone позволяет использовать iPhone с любым оператором беспроводной связи, использующим ту же технологию GSM или CDMA, для работы с которой была разработана конкретная модель телефона. [209]
Первоначально большинство операторов беспроводной связи в США не позволяли владельцам iPhone разблокировать его для использования с другими операторами связи. Однако AT&T разрешила владельцам iPhone, выполнившим условия контракта, разблокировать свой iPhone. [210] Инструкции по разблокировке устройства можно получить у Apple, [211] но в конечном итоге разрешение на разблокировку устройства остается на усмотрение оператора связи. [212] Это позволяет использовать iPhone, приобретенный оператором связи, в других сетях. Современные версии iOS и iPhone полностью поддерживают LTE у нескольких операторов связи, где бы телефон ни был куплен. [213] Программы для снятия ограничений блокировки SIM-карты доступны, но не поддерживаются Apple, и чаще всего это не постоянная разблокировка, а программная разблокировка, [214] которая модифицирует iPhone таким образом, чтобы основная полоса частот принимала SIM- карту любого GSM. перевозчик. Разблокировка SIM-карты не является джейлбрейком, но для разблокировки неофициального программного обеспечения также требуется джейлбрейк.
Законность разблокировки программного обеспечения различается в каждой стране; например, в США существует освобождение от DMCA для неофициальной программной разблокировки устройств, приобретенных до 26 января 2013 г. [215]
Закрытый и проприетарный характер iOS вызвал критику, особенно со стороны защитников цифровых прав , таких как Electronic Frontier Foundation , компьютерный инженер и активист Брюстер Кале , специалист по интернет-праву Джонатан Зиттрейн и Фонд свободного программного обеспечения , которые протестовали против презентации iPad и Нацелились на iPad в своей кампании « Defective by Design ». [216] [217] [218] [219] Конкурент Microsoft через представителя по связям с общественностью раскритиковал контроль Apple над своей платформой. [220]
Речь идет об ограничениях, налагаемых конструкцией iOS, а именно: управление цифровыми правами (DRM), предназначенное для привязки приобретенных медиафайлов к платформе Apple, модель разработки (требующая годовой подписки для распространения приложений, разработанных для iOS), централизованный процесс утверждения приложений. , а также общий контроль Apple и блокировку самой платформы. Особым вопросом является возможность Apple удаленно отключать или удалять приложения по своему желанию. [221]
Некоторые в технологическом сообществе выразили обеспокоенность тем, что заблокированная iOS представляет собой растущую тенденцию в подходе Apple к вычислениям, в частности, отказ Apple от машин, с которыми любители могут «повозиться», и отмечают, что такие ограничения могут задушить инновации в программном обеспечении. [222] [223] Бывший разработчик Facebook Джо Хьюитт протестовал против контроля Apple над своим оборудованием, называя его «ужасным прецедентом», но похвалил « песочницу » приложений iOS. [224]
iOS использует множество функций безопасности как в аппаратном, так и в программном обеспечении. Ниже приведены краткие сведения о наиболее выдающихся особенностях.
Перед полной загрузкой iOS существует низкоуровневый код, который запускается из загрузочного ПЗУ . Его задача — перед запуском проверить, что низкоуровневый загрузчик подписан открытым ключом Apple Root CA. Этот процесс предназначен для обеспечения того, чтобы на устройстве iOS не могло быть запущено никакое вредоносное или иное несанкционированное программное обеспечение. После того, как загрузчик низкого уровня завершает свои задачи, он запускает загрузчик более высокого уровня, известный как iBoot . Если все пойдет хорошо, iBoot продолжит загрузку ядра iOS, а также остальной части операционной системы. [225]
Secure Enclave — это сопроцессор , который находится в устройствах iOS и является частью чипов A7 и более новых версий, используемых для защиты данных. Он включает в себя пользовательские данные, относящиеся к Touch ID , Face ID и Apple Pay , а также другие конфиденциальные данные. [226] Целью Secure Enclave является обработка ключей и другой информации, такой как биометрические данные, которые достаточно чувствительны, чтобы не обрабатываться процессором приложений (AP). Он изолирован аппаратным фильтром, поэтому точка доступа не может получить к нему доступ. [226] Он использует оперативную память совместно с точкой доступа, но ее часть (известная как TZ0) зашифрована. Сам безопасный анклав представляет собой флэш-память процессорного ядра AKF объемом 4 МБ, называемого процессором безопасного анклава (SEP), как описано в патентной заявке Apple 20130308838, заархивированной 12 декабря 2020 года на Wayback Machine . Используемая технология аналогична TrustZone/SecurCore от ARM, но содержит собственный код для ядер Apple KF в целом и SEP в частности. Он также отвечает за генерацию ключа UID на чипах A9 или новее, который защищает хранящиеся пользовательские данные. [ нужна цитата ]
Он имеет собственный безопасный процесс загрузки, обеспечивающий его полную безопасность. В состав этого сопроцессора также включен аппаратный генератор случайных чисел . Secure Enclave каждого устройства имеет уникальный идентификатор, который присваивается ему при его создании и не может быть изменен. Этот идентификатор используется для создания временного ключа, который шифрует память в этой части системы. Secure Enclave также содержит счетчик повторов для предотвращения атак методом перебора . [225]
SEP находится в дереве устройств в разделе IODeviceTree:/arm-io/sep и управляется драйвером AppleSEPManager. [227]
В 2020 году были обнаружены недостатки безопасности в SEP, что вызвало опасения по поводу таких устройств Apple, как iPhone. [228]
Face ID — это сканер лица, встроенный в вырез на моделях iPhone X , XS , XS Max , XR , 11 , 11 Pro , 11 Pro Max , 12 , 12 Mini , 12 Pro , 12 Pro Max , 13 , 13 Mini . 13 Pro , 13 Pro Max , 14 и 14 Plus . В iPhone 14 Pro , 14 Pro Max , IPhone 15 , IPhone 15 Plus , IPhone 15 Pro и IPhone 15 Pro Max он встроен в Dynamic Island . [229] Его можно использовать для разблокировки устройства, совершения покупок и входа в приложения, а также для выполнения других функций. При использовании Face ID только временно сохраняет данные о лицах в зашифрованной памяти Secure Enclave, как описано выше. Главный процессор устройства или любая другая часть системы не могут получить доступ к необработанным данным, полученным от датчика Face ID. [225]
Устройства iOS могут иметь пароль, который используется для разблокировки устройства, внесения изменений в настройки системы и шифрования содержимого устройства. До недавнего времени они обычно состояли из четырех цифр. Однако, поскольку разблокировка устройств с помощью отпечатка пальца с помощью Touch ID стала более распространенной, шестизначные пароли теперь являются стандартными для iOS с возможностью вернуться к четырем или использовать буквенно-цифровой пароль. [225]
Touch ID — это сканер отпечатков пальцев, который встроен в кнопку «Домой» и может использоваться для разблокировки устройства, совершения покупок и входа в приложения, а также других функций. При использовании Touch ID только временно сохраняет данные отпечатков пальцев в зашифрованной памяти Secure Enclave, как описано выше. Как и в случае с Face ID, основной процессор устройства или любая другая часть системы не могут получить доступ к необработанным данным отпечатков пальцев, полученным от датчика Touch ID. [225]
Рандомизация структуры адресного пространства (ASLR) — это низкоуровневый метод предотвращения атак на повреждение памяти , таких как переполнение буфера . Он предполагает размещение данных в случайно выбранных местах памяти, чтобы затруднить прогнозирование способов повреждения системы и создания эксплойтов. ASLR повышает вероятность того, что ошибки приложения приведут к сбою приложения, а не к незаметной перезаписи памяти, независимо от того, является ли поведение случайным или злонамеренным. [ нужна цитата ]
iOS использует функцию «Выполнять никогда» (XN) архитектуры ARM . Это позволяет помечать некоторые части памяти как неисполняемые, работая вместе с ASLR для предотвращения атак переполнения буфера, включая атаки возврата в libc . [225]
Как упоминалось выше, одно из применений шифрования в iOS — в памяти Secure Enclave. Когда на устройстве iOS используется пароль, содержимое устройства шифруется. Это делается с помощью аппаратной реализации AES 256, которая очень эффективна, поскольку размещается непосредственно между флэш-накопителем и оперативной памятью. [225]
iOS в сочетании со своим специальным оборудованием использует крипто-уничтожение при стирании всего контента и настроек путем уничтожения всех ключей в «стираемом хранилище». Это делает все пользовательские данные на устройстве криптографически недоступными. [230]
Связка ключей iOS — это база данных данных для входа в систему, которая может использоваться всеми приложениями, написанными одним и тем же человеком или организацией. [225] Этот сервис часто используется для хранения паролей для веб-приложений. [231]
Сторонние приложения, например распространяемые через App Store, должны иметь код, подписанный сертификатом , выданным Apple . В принципе, это продолжает цепочку доверия на всем пути от упомянутого выше процесса безопасной загрузки до действий приложений, установленных на устройстве пользователями. Приложения также изолированы в «песочнице» , что означает, что они могут изменять данные только в своем индивидуальном домашнем каталоге , если им явно не дано разрешение поступать иначе. Например, они не могут получить доступ к данным, принадлежащим другим приложениям, установленным пользователем на устройстве. В iOS имеется очень обширный набор элементов управления конфиденциальностью с возможностью управления возможностью приложений получать доступ к широкому спектру разрешений, таких как камера, контакты, фоновое обновление приложений, сотовые данные и доступ к другим данным и службам. Большая часть кода в iOS, включая сторонние приложения, выполняется от имени «мобильного» пользователя, не имеющего привилегий root . Это гарантирует, что системные файлы и другие системные ресурсы iOS останутся скрытыми и недоступными для установленных пользователем приложений. [225]
Компании могут подать заявку в Apple на получение сертификатов корпоративного разработчика. Их можно использовать для подписи приложений, чтобы iOS устанавливала их напрямую (иногда это называется « загрузкой неопубликованных приложений »), без необходимости распространения приложения через App Store. [232] Условия их предоставления ясно указывают, что их можно использовать только для компаний, которые желают распространять приложения непосредственно среди своих сотрудников. [232]
Примерно в январе–феврале 2019 года выяснилось, что ряд разработчиков программного обеспечения злоупотребляли сертификатами корпоративных разработчиков для распространения программного обеспечения напрямую среди лиц, не являющихся сотрудниками, минуя App Store. Было установлено, что Facebook злоупотреблял сертификатом корпоративного разработчика Apple для распространения среди несовершеннолетних пользователей приложения, которое предоставляло Facebook доступ ко всем личным данным на их устройствах. [233] [234] [235] Google злоупотребляла сертификатом корпоративного разработчика Apple для распространения приложения среди взрослых для сбора данных с их устройств, включая незашифрованные данные, принадлежащие третьим лицам. [236] [232] AltStore , AppValley , Panda Helper, TweakBox и TutuApp злоупотребляют сертификатами корпоративных разработчиков для распространения приложений, предлагающих пиратское программное обеспечение . [237]
iOS поддерживает TLS с API-интерфейсами как низкого, так и высокого уровня для разработчиков. По умолчанию платформа App Transport Security (ATS) требует, чтобы серверы использовали как минимум TLS 1.2. Однако разработчики могут переопределить эту структуру и использовать свои собственные методы общения по сети. Когда Wi-Fi включен, iOS использует случайный MAC-адрес , чтобы никто не мог отследить устройства, перехватывающие беспроводной трафик. [225]
Двухфакторная аутентификация — это опция в iOS, позволяющая гарантировать, что даже если посторонний человек знает комбинацию Apple ID и пароля, он не сможет получить доступ к учетной записи. Он работает, требуя не только Apple ID и пароль, но и код подтверждения, который отправляется на iDevice или номер мобильного телефона, о котором уже известно, что ему можно доверять. [225] Если неавторизованный пользователь пытается войти в систему, используя Apple ID другого пользователя, владелец Apple ID получает уведомление, которое позволяет ему запретить доступ к неопознанному устройству. [238]
iOS имеет усиленный распределитель памяти , известный как kalloc_type
тот, который был представлен в iOS 15 . Поскольку ядро XNU в основном написано на небезопасных для памяти языках, таких как C и C++ , [239] kalloc_type
разработано для смягчения большого количества уязвимостей , возникающих в результате использования этих языков в ядре. Для достижения этой цели kalloc_type
реализуются меры по снижению риска, такие как изоляция типов, чтобы предотвратить путаницу типов и уязвимости переполнения буфера . В конечном счете, целью является предотвращение повышения привилегий . [240]
iOS — вторая по популярности мобильная операционная система в мире после Android . Продажи iPad в последние годы также отстают от Android, в то время как с точки зрения использования в Интернете (прокси для всех видов использования) iPad (с использованием iOS) по-прежнему остается самым популярным. [242]
На WWDC 2014 Тим Кук заявил, что к июню 2014 года было продано 800 миллионов устройств. [243] Во время квартального отчета Apple о прибылях и убытках в январе 2015 года компания объявила, что с 2007 года они продали более одного миллиарда устройств iOS. [ 244] [245]
К февралю 2023 года было активировано 2 миллиарда устройств, [246] и с 2007 года было продано 1,5 миллиарда iPhone [247].
К концу 2011 года iOS занимала 60% рынка смартфонов и планшетов. [248] К концу 2014 года iOS занимала 14,8% рынка смартфонов [249] и 27,6% рынка планшетов и устройств «два в одном». [250] В мае 2023 года StatCounter сообщил, что iOS использовалась на 31,44% смартфонов и 55,75% планшетов по всему миру, если судить по использованию Интернета, а не по продажам. [251]
В третьем квартале 2015 года исследование Strategy Analytics показало, что внедрение iOS на мировом рынке смартфонов было на рекордно низком уровне в 12,1%, что объясняется слабыми показателями в Китае и Африке. На долю Android приходилось 87,5% рынка, а остальная часть приходилась на Windows Phone и BlackBerry. [252] [253]
[Изображение: Shutter-animation-in-apple-ios-6-camera-app.png] Изображение затвора в приложении камеры iOS 6