iOS - мобильная операционная система, работающая на Apple iPhone, iPod touch и iPad. Используйте этот тег [ios] для вопросов, связанных с программированием на платформе iOS. Используйте связанные теги [target-c] и [swift] для проблем, характерных для этих языков программирования.

Его не следует путать с i5/OS, который является одной из операционных систем IBM для IBM Power Systems (первоначально AS / 400), или с Cisco IOS (межсетевая операционная система).

IOS является производной от операционной системы Apple OSX для настольных компьютеров, с которой она разделяет многие (но не все) общие платформы и другие компоненты. К ним относятся Cocoa Touch(аналог OS X Cocoa UI Framework), ядро Mach / Darwin / XNU и код из дистрибутива программного обеспечения Berkeley (BSD).

Приложения для iOS написаны для платформы Cocoa Touch (в отличие от платформы Cocoa OS X) с использованием того же IDE Xcodeдля официальное использование (то есть для отправки приложений в Apple App Store) или использование неофициальных (в основном только для командной строки) наборов инструментов для различных операционных систем (включая Linux) для неофициальной / взломанной разработки. OS X основана на фундаменте Darwin-OS, сама основанная на нескольких потомках Unix. 2 июня 2014 года Apple анонсировала новый язык Swift, который можно использовать для разработки приложений для iOS. Swift находился в бета-версии до 9 сентября 2014 года и с 17 сентября 2018 года находится в версии 4.2.0.

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

Пользовательский интерфейс iOS основан на концепции прямого манипулирования посредством мультитач-жестов. Элементы управления интерфейсом состоят из ползунков, переключателей и кнопок, которые включены в UIKit Framework от Apple. Взаимодействие с ОС включает в себя такие жесты, как пролистывание, касание, сжатие и обратное сжатие, которые имеют конкретные определения в контексте операционной системы iOS и ее мультитач-интерфейса.

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

Apple изначально адаптировала функции из OS X для создания iOS, но теперь этот цикл является двунаправленным. Многие функции OS X 10.7 OSX Lion были впервые реализованы в iOS, включая изолированную программную среду приложений, App Store для OS X (и подразумеваемую широко распространенную стороннюю подпись кода приложений), ориентированное на контент («естественное») направление прокрутки, а также AV Foundation, Core Location и несколько других фреймворков.

Диспетчер пакетов Swiftили SPM — это инструмент управления зависимостями от Apple для управления распространением кода Swift. Представленный в Swift 3.0, он постепенно становится доминирующим инструментом зависимостей в проектах Swift и Objective-C. Основными понятиями СПМ являются:

  • Модули. Код Swift организован в виде модулей, которые определяют пространство имен и обеспечивают контроль доступа к коду.
  • Пакеты - это повторно используемые компоненты кода, используемые в проектах, и на данный момент поддерживаются эти языки: Swift, Objective-C, Objective-C++, C или C++.
  • Продукты - библиотека или исполняемый файл
  • Зависимости — модули, от которых зависит код в пакетах

Он входит в состав Swift-пакетов Xcode IDEили как часть Связки инструментов Swift. Исходный код можно найтиздесь.

CocoaPods- менеджер зависимостей для проектов Swift и Objective-C Cocoa. Он включает в себя почти десять тысяч библиотек, помогающих программистам масштабировать проекты. Популярной альтернативой является Carthage, который является децентрализованным менеджером зависимостей, что означает, что он не хранит центральный список доступных проектов.

Используйте тег cisco-iosдля вопросов об операционной системе Cisco IOS для сетевых маршрутизаторов Cisco.

Ознакомьтесь со статьей Рэя ВендерлихаУ меня произошел сбой приложения, что дальше?, прежде чем публиковать какие-либо сообщения. вопросы, касающиеся сбоев приложения. В нем объясняется, как правильно отлаживать приложение iOS. Бессмысленно задавать вопросы, касающиеся сбоев, когда у вас нет надлежащей трассировки и сообщения об исключении.

Прежде чем вы спросите о настраиваемых элементах управления: мне нужен этот тип элемента управления. Посетите cocoacontrolsодин раз. Вы получите множество настраиваемых элементов управления, анимацию, библиотеки и многое другое, доступное в Swift и Objective-C.

Прежде чем задать вопрос о теме, просто найдите ее в https://developer.apple.com/documentation/, что документация для разработчиков, предоставленная Apple, в которой содержится много информации о разработке для iOS.


Ресурсы


Чаты

Поговорите об iOS с другими пользователями Stack Overflow


Если вы переходите с Objective-C на Swift, но ничего не знаете о Swift, вы можете преобразовать свой код/проект Objective-C в Swift. Воспользуйтесь следующей сторонней ссылкой.

Связанные теги

Платформы:

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

IDE :

Каркасы и расширения:

Распределение :