Описание тега uiapplication
Класс UIApplication обеспечивает централизованную точку контроля и координации для приложений, работающих на iOS. Каждое приложение должно иметь ровно один экземпляр UIApplication (или подкласс UIApplication). Когда приложение запускается, вызывается функция UIApplicationMain; Помимо других задач, эта функция создает одноэлементный объект UIApplication. После этого вы обращаетесь к этому объекту, вызывая метод класса sharedApplication.
Основная роль объекта UIApplication заключается в обработке начальной маршрутизации входящих пользовательских событий. Он также отправляет сообщения о действиях, пересылаемые ему объектами управления ( UIControl) соответствующим целевым объектам. Кроме того, объект UIApplication поддерживает список всех окон (объектов UIWindow), открытых в данный момент в приложении, поэтому через них он может получить любой из объектов UIView приложения. Объекту приложения обычно назначается делегат, объект, о котором приложение сообщает о важных событиях времени выполнения, например о запуске приложения, предупреждениях о нехватке памяти и завершении приложения, что дает ему возможность отреагировать соответствующим образом.
Приложения могут совместно обрабатывать такой ресурс, как электронная почта или файл изображения, с помощью метода openURL :. Например, приложение, открывающее URL-адрес электронной почты с помощью этого метода, может вызвать запуск почтового клиента и отображение сообщения.
Программные интерфейсы UIApplication позволяют управлять поведением, характерным для устройства. Используйте этот объект, чтобы делать следующее:
Управляйте реакцией приложения на изменение ориентации интерфейса.
Временно приостановить входящие сенсорные события.
Выключите и снова включите определение приближения (лица пользователя).
Зарегистрируйтесь для получения удаленных уведомлений.
Вызов пользовательского интерфейса отмены-повтора ( applicationSupportsShakeToEdit).
Определите, может ли установленное приложение открывать URL-адрес ( canOpenURL:).
Увеличьте время выполнения приложения, чтобы оно могло завершить задачу в фоновом режиме.
Запланируйте и отмените локальные уведомления.
Координировать прием событий дистанционного управления.
Выполнять задачи восстановления состояния на уровне приложения.
UIApplication определяет делегата, который должен принять протокол UIApplicationDelegate и реализовать некоторые методы протокола.
Примечания к подклассам
Большинству приложений никогда не нужно создавать подклассы класса UIApplication. Большинство приложений используют делегата приложения для управления взаимодействием между системой и приложением.
Единственная ситуация, когда вам может понадобиться создать подкласс UIApplication, - это когда вы реализуете настраиваемый механизм диспетчеризации событий или действий. В этой ситуации вы можете переопределить методы sendEvent: или sendAction: to: from: forEvent: для реализации этого механизма. Однако случаи, когда это требуется, очень редки, и их следует по возможности избегать.