Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека Разработчика iOS

Разработчик

Ссылка платформы UIKit ссылка на протокол UIApplicationDelegate

Опции
Развертывание Target:

На этой странице
Язык:

UIApplicationDelegate

Наследование


Не применимый

Соответствует


Оператор импорта


Swift

import UIKit

Objective C

@import UIKit;

Доступность


Доступный в iOS 2.0 и позже.

UIApplicationDelegate протокол определяет методы, которые вызывает одиночный элемент UIApplication объект в ответ на важные события во времени жизни Вашего приложения. Делегат приложения работает рядом с объектом приложения гарантировать, что Ваше приложение взаимодействует должным образом с системой и с другими приложениями. В частности методы делегата приложения дают Вам шанс реагировать на важные изменения. Например, Вы используете методы делегата приложения для ответа на изменения состояния, такой как тогда, когда приложение перемещается от переднего плана до фонового выполнения, и реагировать на входящие уведомления. Во многих случаях методы делегата приложения являются единственным способом получить эти важные уведомления.

XCode предоставляет делегату приложения класс для каждого нового проекта, таким образом, Вы не должны определять тот сами первоначально. Когда Ваше приложение запускается, UIKit автоматически создает экземпляр делегата приложения класс, предоставленный XCode, и использует его для выполнения первых битов пользовательского кода в приложении. Все, что необходимо сделать, посещают урок, который обеспечивает XCode, и добавьте пользовательский код.

Делегат приложения является эффективно корневым объектом Вашего приложения. Как UIApplication сам объект, делегат приложения является одноэлементным объектом и всегда присутствует во время выполнения. Несмотря на то, что UIApplication объект выполняет большую часть базовой работы для управления приложением, Вы решаете полное поведение своего приложения путем обеспечения надлежащих реализаций методов делегата приложения. Несмотря на то, что большинство методов этого протокола является дополнительным, необходимо реализовать больше всего или все они.

Делегат приложения выполняет несколько важных ролей:

  • Это содержит код запуска Вашего приложения.

  • Это реагирует на ключевые изменения в состоянии Вашего приложения. В частности это реагирует и на временные прерывания и к изменениям в режиме выполнения Вашего приложения, такой как тогда, когда Ваши переходы приложения от переднего плана до фона.

  • Это реагирует на уведомления, происходящие извне приложения, такие как удаленные уведомления (также известный как уведомления нажатия), предупреждения низкой памяти, уведомления завершения загрузки и т.д.

  • Это определяет, должны ли сохранение состояния и восстановление произойти и помогают в процессе сохранения и восстановления по мере необходимости.

  • Это реагирует на события, которые предназначаются для самого приложения и не являются определенными для представлений Вашего приложения или просматривают контроллеры.

  • Можно использовать его для хранения центральных объектов данных приложения или любого содержания, не имеющего контроллера представления владения.

Для получения дополнительной информации о роли делегата приложения и как это вписывается в архитектуру приложения, см. Руководство по программированию Приложения для iOS. Для получения дополнительной информации о UIApplication singleton-класс, см. Ссылку класса UIApplication.

Запуск Вашего приложения

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

Некоторые дополнительные задачи, которые делегат приложения выполняет во время запуска, включают следующее:

  • Смотрите на словарь опций запуска для определения, почему было запущено приложение. application:willFinishLaunchingWithOptions: и application:didFinishLaunchingWithOptions: методы предоставляют словарю ключи, указывающие причину, что было запущено Ваше приложение.

  • Определите, должно ли продолжиться восстановление состояния. Если приложение ранее сохранило состояние своих контроллеров представления, восстановление тех контроллеров представления к их предыдущему состоянию продолжается только если делегат приложения application:shouldRestoreApplicationState: возвраты метода YEStrue.

  • Регистр для любых удаленных уведомлений Ваши поддержки приложений. Для получения удаленных уведомлений (также известный как уведомления нажатия), приложение должно зарегистрироваться в удаленной службе уведомления путем вызова registerForRemoteNotificationTypes: метод UIApplication объект. Обычно, Вы выполняете эту задачу во время запуска.

  • Откройте URL, отправленный в Ваше приложение. Если существует URL для открытия, системные вызовы application:openURL:sourceApplication:annotation: метод Вашего делегата приложения. Также можно сказать, существует ли URL для открытия путем взгляда в словаре опций запуска для UIApplicationLaunchOptionsURLKey ключ. Необходимо объявить типы URLs поддержки приложений путем добавления CFBundleURLTypes ключ к Вашему приложению Info.plist файл. Для получения дополнительной информации о регистрации и обработке URLs, см. Руководство по программированию Приложения для iOS.

  • Обеспечьте корневой объект окна для своего приложения. Технически, делегат приложения, предоставленный XCode уже, реализует window свойство, таким образом, Вы не должны делать ничего специального здесь, если Вы не хотите настроить окно своего приложения.

Словарь опций передал application:willFinishLaunchingWithOptions: и application:didFinishLaunchingWithOptions: методы являются важным источником разовой запуском информации для Вашего приложения. Ключи в том словаре говорят Вам причину, Ваше приложение было запущено, и дайте Вам шанс скорректировать Ваши процедуры запуска соответственно. Например, если бы Ваше приложение было запущено из-за входящего удаленного уведомления, то Вы могли бы хотеть реконфигурировать свой пользовательский интерфейс для отображения данных, связанных с тем уведомлением. Для списка возможных причин, почему Ваше приложение могло бы быть запущено, посмотрите Ключи Опций Запуска.

Управление изменениями состояния

Одно из основных заданий делегата приложения должно реагировать на изменения состояния, о которых сообщает система. Для каждого изменения состояния, происходящего, системные вызовы надлежащие методы делегата приложения. Каждое состояние имеет различные правила, управляющие, как приложение должно, как ожидать, будет вести себя, и методы делегата приложения должны скорректировать поведение приложения соответственно. Таблица 1 перечисляет возможные состояния приложения и высокоуровневых ожиданий. Рисунок 1 показывает, как приложение перемещается от одного состояния до другого.

Табличные 1App состояния

Состояние

Описание

Не выполнение

Приложение не было запущено или было завершено, или пользователем или системой.

Неактивный

Приложение работает на переднем плане, но не получает события. (Это может выполнять другой код все же.) Приложение обычно остается в этом состоянии только кратко, поскольку это переходит к различному состоянию.

После ввода этого состояния приложение должно поместить себя в состояние покоя с ожиданием перемещения в фоновое или активное состояние вскоре.

Активный

Приложение работает на переднем плане и получает события. Это - нормальный режим для приоритетных приложений.

Приложение в активном состоянии не имеет никаких специальных ограничений, установленных для него. Это - приоритетное приложение и должно быть быстро реагирующим пользователю.

Фон

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

Приложение в фоновом режиме утверждает, должен выполнить как можно меньше работы. Приложения, запрашивающие время обработать определенные типы событий, должны обработать те события и управление возвратом назад к системе как можно быстрее.

Приостановленный

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

Рисунок 1State изменяется в приложении для iOS image: ../Art/high_level_flow_2x.png

Когда изменения состояния происходят, следующие методы вызывают. Для получения информации о чем сделать в ответ на каждый переход, см. описания метода:

Определенные задачи, которые Вы выполняете во время данного изменения состояния, зависят от Вашего приложения и его возможностей. Для подсказок и руководства о том, что сделать во время изменений состояния, см. Руководство по программированию Приложения для iOS.

Ответ на уведомления и события

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

  • Когда удаленное уведомление поступает, системные вызовы application:didReceiveRemoteNotification:fetchCompletionHandler: метод. Уведомления обычно сигнализируют доступность новой информации. В Вашем методе делегата приложения Вы могли бы начать загружать новые данные с сервера так, чтобы можно было обновить структуры данных приложения. Вы могли бы также использовать уведомление для обновления пользовательского интерфейса.

  • Когда локальное уведомление стреляет, системные вызовы application:didReceiveLocalNotification: метод. Приложение должно работать (или недавно запущенное) для получения этого события.

  • Когда пользователь касается пользовательского действия на предупреждении для удаленного или локального уведомления, системные вызовы application:handleActionWithIdentifier:forRemoteNotification:completionHandler: или application:handleActionWithIdentifier:forLocalNotification:completionHandler: метод в фоновом режиме так, чтобы Ваше приложение могло выполнить связанное действие.

  • Для приложений, хотящих инициировать фоновые загрузки, системные вызовы application:performFetchWithCompletionHandler: метод, когда настало время для Вас для запуска тех загрузок.

  • Для приложений, использующих NSURLSession класс для выполнения фоновых загрузок, системные вызовы application:handleEventsForBackgroundURLSession:completionHandler: метод, когда те загрузки закончились, в то время как не работало приложение. Можно использовать этот метод, чтобы обработать загруженные файлы и обновить затронутые контроллеры представления.

  • Когда условие низкой памяти происходит, система уведомляет делегата приложения путем вызова applicationDidReceiveMemoryWarning: метод. Приложение уведомляет свои контроллеры представления отдельно, таким образом, делегат приложения должен использовать это уведомление для удаления ссылок на объекты и данные, которыми не управляет непосредственно контроллер представления.

  • Когда существенное изменение своевременно происходит, система уведомляет делегата приложения путем вызова applicationSignificantTimeChange: метод. Если Ваше приложение чувствительно к изменениям своевременно, можно использовать этот метод для обновления данных и пользовательского интерфейса приложения.

  • Когда пользователь блокирует устройство, системные вызовы делегат приложения applicationProtectedDataWillBecomeUnavailable: метод. В то время как устройство заблокировано, защита данных предотвращает несанкционированный доступ к файлам. Если Ваше приложение ссылается на защищенный файл, необходимо удалить ту ссылку на файл и выпустить любые объекты, связанные с файлом, когда вызывают этот метод. Когда пользователь впоследствии разблокировал устройство, можно восстановить ссылки на данные в делегате приложения applicationProtectedDataDidBecomeAvailable: метод.

  • Говорит делегату, что процесс запуска начался, но что еще не произошло восстановление состояния.

    Объявление

    Swift

    optional func application(_ application: UIApplication, willFinishLaunchingWithOptions launchOptions: [NSObject : AnyObject]?) -> Bool

    Objective C

    - (BOOL)application:(UIApplication *)application willFinishLaunchingWithOptions:(NSDictionary *)launchOptions

    Параметры

    application

    Одноэлементный объект приложения.

    launchOptions

    Словарь, указывающий причину приложение, был запущен (если таковые имеются). Содержание этого словаря может быть пустым в ситуациях, где пользователь запустил приложение непосредственно. Для получения информации о возможных ключах в этом словаре и как обработать их, посмотрите Ключи Опций Запуска.

    Возвращаемое значение

    NOfalse если приложение не может обработать ресурс URL или продолжать пользовательское действие, иначе возвратитесь YEStrue. Если приложение запускается в результате удаленного уведомления, возвращаемое значение проигнорировано.

    Обсуждение

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

    Если Ваше приложение было запущено системой по определенной причине, launchOptions словарь содержит данные, указывающие причину запуска. По некоторым причинам запуска система может вызвать дополнительные методы Вашего делегата приложения. Например, если Ваше приложение было запущено для открытия URL, системные вызовы application:openURL:sourceApplication:annotation: метод после Вашего приложения заканчивает инициализировать себя. Присутствие ключей запуска дает Вам возможность запланировать то поведение. В случае URL для открытия Вы могли бы хотеть предотвратить восстановление состояния, если URL представляет документ, который пользователь хотел открыть.

    Когда спросили открыть URL, результат возврата этого метода объединен с возвратом, следуют application:didFinishLaunchingWithOptions: метод, чтобы определить, должен ли быть обработан URL. Если возвращается любой метод NOfalse, система не вызывает application:openURL:sourceApplication:annotation: метод. Если Вы не реализуете один из методов, только возвращаемое значение реализованного метода рассматривают.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 6.0 и позже.

  • Говорит делегату, что процесс запуска почти сделан, и приложение почти готово работать.

    Объявление

    Swift

    optional func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject : AnyObject]?) -> Bool

    Objective C

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

    Параметры

    application

    Одноэлементный объект приложения.

    launchOptions

    Словарь, указывающий причину приложение, был запущен (если таковые имеются). Содержание этого словаря может быть пустым в ситуациях, где пользователь запустил приложение непосредственно. Для получения информации о возможных ключах в этом словаре и как обработать их, посмотрите Ключи Опций Запуска.

    Возвращаемое значение

    NOfalse если приложение не может обработать ресурс URL или продолжать пользовательское действие, иначе возвратитесь YEStrue. Если приложение запускается в результате удаленного уведомления, возвращаемое значение проигнорировано.

    Обсуждение

    Используйте этот метод (и соответствие application:willFinishLaunchingWithOptions: метод), чтобы завершить инициализацию Вашего приложения и сделать любые заключительные тонкие настройки. Этот метод вызывают после того, как восстановление состояния произошло, но прежде чем были представлены окно Вашего приложения и другой UI. В некоторый момент после этого метода возвраты, системные вызовы другой из Ваших методов делегата приложения для перемещения приложения в активное (приоритетное) состояние или фоновое состояние.

    Этот метод представляет Ваш последний шанс обработать любые ключи launchOptions словарь. Если Вы не оценивали ключи в Вашем application:willFinishLaunchingWithOptions: метод, необходимо смотреть на них в этом методе и обеспечить надлежащий ответ.

    Объекты, которые не являются делегатом приложения, могут получить доступ к тому же launchOptions словарь оценивает путем наблюдения названного уведомления UIApplicationDidFinishLaunchingNotification и доступ к уведомлению userInfo словарь. То уведомление отправляется вскоре после этого метода возвраты.

    Результат возврата этого метода объединен с возвратом, следуют application:willFinishLaunchingWithOptions: метод, чтобы определить, должен ли быть обработан URL. Если возвращается любой метод NOfalse, URL не обрабатывается. Если Вы не реализуете один из методов, только возвращаемое значение реализованного метода рассматривают.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 3.0 и позже.

  • Говорит делегату, что приложение стало активным.

    Объявление

    Swift

    optional func applicationDidBecomeActive(_ application: UIApplication)

    Objective C

    - (void)applicationDidBecomeActive:(UIApplication *)application

    Параметры

    application

    Одноэлементный объект приложения.

    Обсуждение

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

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

    После вызова этого метода приложение также отправляет a UIApplicationDidBecomeActiveNotification уведомление, чтобы дать заинтересованным объектам шанс реагировать на переход.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 2.0 и позже.

  • Говорит делегату, что приложение собирается стать неактивным.

    Объявление

    Swift

    optional func applicationWillResignActive(_ application: UIApplication)

    Objective C

    - (void)applicationWillResignActive:(UIApplication *)application

    Параметры

    application

    Одноэлементный объект приложения.

    Обсуждение

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

    Необходимо использовать этот метод, чтобы приостановить продолжающиеся задачи, отключить таймеры и снизить скорость OpenGL частоты кадров ES. Игры должны использовать этот метод для приостановки игры. Приложение в неактивном состоянии должно выполнить минимальную работу, в то время как это ожидает для перехода или к активному или к фоновому состоянию.

    Если Ваше приложение не сохранило пользовательские данные, можно сохранить его здесь, чтобы гарантировать, что это не потеряно. Однако рекомендуется сохранить пользовательские данные в надлежащих точках в течение выполнения приложения, обычно в ответ на определенные действия. Например, сохраните данные, когда пользователь отклонит экран ввода данных. Не полагайтесь на определенные изменения состояния приложения для сохранения всех критических данных приложения.

    После вызова этого метода приложение также отправляет a UIApplicationWillResignActiveNotification уведомление, чтобы дать заинтересованным объектам шанс реагировать на переход.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 2.0 и позже.

  • Говорит делегату, что приложение теперь в фоновом режиме.

    Объявление

    Swift

    optional func applicationDidEnterBackground(_ application: UIApplication)

    Objective C

    - (void)applicationDidEnterBackground:(UIApplication *)application

    Параметры

    application

    Одноэлементный объект приложения.

    Обсуждение

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

    Ваша реализация этого метода имеет приблизительно пять секунд для выполнения любых задач и возврата. При необходимости в дополнительном времени для выполнения каких-либо заключительных задач, можно запросить дополнительное время выполнения от системы путем вызова beginBackgroundTaskWithExpirationHandler:. На практике необходимо возвратиться из applicationDidEnterBackground: как можно быстрее. Если метод не возвращается, прежде чем время заканчивается, Ваше приложение завершено и очищено из памяти.

    Необходимо выполнить любые задачи, касающиеся корректировки пользовательского интерфейса перед этим методом выходы, но другие задачи (такие как сохранение состояния) должны быть перемещены к параллельной очереди отгрузки или вторичному потоку по мере необходимости. Поскольку это вероятно любые фоновые задачи, Вы запускаете в applicationDidEnterBackground: не будет работать до окончания того метода выходы необходимо запросить дополнительное фоновое время выполнения прежде, чем запустить те задачи. Другими словами, сначала вызовите beginBackgroundTaskWithExpirationHandler: и затем выполненный задача на очереди отгрузки или вторичном потоке.

    Приложение также отправляет a UIApplicationDidEnterBackgroundNotification уведомление около того же времени это вызывает этот метод, чтобы дать заинтересованным объектам шанс реагировать на переход.

    Для получения дополнительной информации о том, как перейти корректно к фону, и для получения информации о том, как запустить фоновые задачи, см. Руководство по программированию Приложения для iOS.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 4.0 и позже.

  • Говорит делегату, что приложение собирается ввести передний план.

    Объявление

    Swift

    optional func applicationWillEnterForeground(_ application: UIApplication)

    Objective C

    - (void)applicationWillEnterForeground:(UIApplication *)application

    Параметры

    application

    Одноэлементный объект приложения.

    Обсуждение

    В iOS 4.0 и позже, этот метод вызывают как часть перехода от фона до активного состояния. Можно использовать этот метод для отмены многих изменений, которые Вы внесли в свое приложение после ввода фона. Вызов к этому методу неизменно сопровождается вызовом к applicationDidBecomeActive: метод, тогда перемещающий приложение от неактивного до активного состояния.

    Приложение также отправляет a UIApplicationWillEnterForegroundNotification уведомление прежде, чем вызвать этот метод, чтобы дать заинтересованным объектам шанс реагировать на переход.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 4.0 и позже.

  • Когда приложение собирается завершиться, говорит делегату.

    Объявление

    Swift

    optional func applicationWillTerminate(_ application: UIApplication)

    Objective C

    - (void)applicationWillTerminate:(UIApplication *)application

    Параметры

    application

    Одноэлементный объект приложения.

    Обсуждение

    Этот метод позволяет Вашему приложению знать, что это собирается быть завершенным и очищенным из памяти полностью. Необходимо использовать этот метод для выполнения любых заключительных задач очистки для приложения, таких как освобождение совместно используемых ресурсов, сохранение пользовательских данных и лишение законной силы таймеров. Ваша реализация этого метода имеет приблизительно пять секунд для выполнения любых задач и возврата. Если метод не возвращается, прежде чем время истекает, система может уничтожить процесс в целом.

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

    После вызова этого метода приложение также отправляет a UIApplicationWillTerminateNotification уведомление, чтобы дать заинтересованным объектам шанс реагировать на переход.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 2.0 и позже.

  • window Свойство

    Окно для использования при представлении раскадровки.

    Объявление

    Swift

    optional var window: UIWindow? { get set }

    Objective C

    @property(nonatomic, retain) UIWindow *window

    Обсуждение

    Это свойство содержит окно, используемое для представления визуального содержания приложения на основном экране устройства.

    Реализация этого свойства требуется если Ваше приложение Info.plist файл содержит UIMainStoryboardFile ключ. К счастью, шаблоны проекта XCode обычно включают синтезируемое объявление свойства автоматически для делегата приложения. Значение по умолчанию этого синтезируемого свойства nil, который заставляет приложение создавать обобщение UIWindow возразите и присвойте его свойству. Если Вы хотите обеспечить пользовательское окно для своего приложения, необходимо реализовать метод получателя этого свойства и использовать его, чтобы создать и возвратить пользовательское окно.

    Для получения дополнительной информации о ключе UIMainStoryboardFile, посмотрите информационную Ключевую Ссылку Списка свойств.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 5.0 и позже.

  • Говорит приложению, что оно может начать работу выборки, если оно имеет данные для загрузки.

    Объявление

    Swift

    optional func application(_ application: UIApplication, performFetchWithCompletionHandler completionHandler: (UIBackgroundFetchResult) -> Void)

    Objective C

    - (void)application:(UIApplication *)application performFetchWithCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler

    Параметры

    application

    Одноэлементный объект приложения.

    completionHandler

    Блок для выполнения, когда работа загрузки завершена. При вызове этого блока передайте в значении результата выборки, лучше всего описывающем результаты работы загрузки. Вы должны вызвать этот обработчик и должны сделать так как можно скорее. Для списка возможных значений посмотрите UIBackgroundFetchResult ввести.

    Обсуждение

    Реализуйте этот метод если Ваши поддержки приложений fetch фоновый режим. Когда возможность возникает для загрузки данных, системные вызовы этот метод, чтобы дать приложению шанс загрузить любые данные, этому нужно. Ваша реализация этого метода должна загрузить данные, подготовить те данные к использованию и призвать блок completionHandler параметр.

    Когда этот метод вызывают, Ваше приложение имеет до 30 секунд тактового стеной времени, чтобы выполнить работу загрузки и вызвать указанный блок обработчика завершения. На практике Ваше приложение должно вызвать блок обработчика завершения как можно скорее после загрузки необходимых данных. Если Вы не вызываете обработчик завершения своевременно, Ваше приложение завершается. Что еще более важно система использует прошедшее время для вычисления использования питания и затрат данных для фоновых загрузок приложения. Если Ваше приложение занимает много времени для вызова обработчика завершения, ему можно дать меньше будущих возможностей выбрать данные в будущем. Для получения дополнительной информации о поддержке фоновых операций выборки, посмотрите состояния Приложения и Многозадачность в Руководстве по программированию Приложения для iOS.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Говорит делегату, что события, связанные с сеансом URL, ожидают, чтобы быть обработанными.

    Объявление

    Swift

    optional func application(_ application: UIApplication, handleEventsForBackgroundURLSession identifier: String, completionHandler completionHandler: () -> Void)

    Objective C

    - (void)application:(UIApplication *)application handleEventsForBackgroundURLSession:(NSString *)identifier completionHandler:(void (^)(void))completionHandler

    Параметры

    application

    Одноэлементный объект приложения.

    identifier

    Идентификатор внимания требования сеанса URL. Если Ваше приложение было просто запущено, можно использовать этот идентификатор для создания нового NSURLSession объект, который может получить события.

    completionHandler

    Обработчик завершения для вызова, когда Вы заканчиваете обрабатывать события. Вызов этого обработчика завершения позволяет системе знать, что пользовательский интерфейс Вашего приложения обновляется, и может быть взят новый снимок.

    Обсуждение

    Когда все фоновые передачи связались с, приложение вызывает этот метод NSURLSession объект сделан, закончили ли они успешно или привели к ошибке. Если аутентификация требуется для одной или более передач, приложение также вызывает этот метод.

    Используйте этот метод, чтобы повторно соединить любые сеансы URL и обновить пользовательский интерфейс Вашего приложения. Например, Вы могли бы использовать этот метод, чтобы обновить индикаторы хода выполнения или включить новое содержание в Ваши представления. После обработки событий выполните блок в completionHandler параметр так, чтобы приложение могло взять новый снимок Вашего пользовательского интерфейса.

    Если сеанс URL заканчивает свою работу, когда Ваше приложение не работает, система запускает Ваше приложение в фоновом режиме так, чтобы это могло обработать событие. В той ситуации используйте предоставленное identifier создать новое NSURLSessionConfiguration и NSURLSession объект. Необходимо сконфигурировать другие опции Вашего NSURLSessionConfiguration возразите таким же образом, что Вы сделали при запуске загрузок или загрузок. После создания и конфигурирования нового NSURLSession объект, что вызовы объектов надлежащие методы делегата обработать события.

    Если Ваше приложение уже имеет объект сеанса с указанным identifier и работает или приостановленный, Вы не должны создавать новый объект сеанса, использующий этот метод. Приостановленные приложения перемещены в фон. Как только приложение работает снова, NSURLSession объект с идентификатором получает события и обычно обрабатывает их.

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

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Говорит делегату, что приложение успешно зарегистрировалось в Apple Push Notification service (APNs).

    Объявление

    Swift

    optional func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: NSData)

    Objective C

    - (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken

    Параметры

    application

    Объект приложения, инициировавший процесс регистрации удаленного уведомления.

    deviceToken

    Маркер, идентифицирующий устройство для APNs. Маркер является непрозрачным типом данных, потому что это - форма, которую провайдер должен представить серверам APNs, когда это отправляет уведомление устройству. Серверы APNs требуют двоичного формата по причинам производительности.

    Размер маркера устройства составляет 32 байта.

    Обратите внимание на то, что маркер устройства отличается от uniqueIdentifier свойство UIDevice когда устройство вытерто, потому что, для безопасности и причин конфиденциальности, это должно измениться.

    Обсуждение

    После вызова registerForRemoteNotifications метод UIApplication когда регистрация устройств завершается успешно, объект, приложение вызывает этот метод. В Вашей реализации этого метода соединитесь со своим сервером уведомления нажатия и дайте маркер ему. APNs продвигает уведомления только устройству, представленному маркером.

    Приложение могло бы вызвать этот метод при других редких обстоятельствах, такой как тогда, когда пользователь запускает приложение, восстановив устройство от данных, которые не являются данными резервного копирования устройства. В этом исключительном случае приложение не будет знать маркер нового устройства, пока пользователь не запустит его.

    Для получения дополнительной информации о том, как реализовать удаленные уведомления в Вашем приложении, см. Локальное и Удаленное Руководство по программированию Уведомления.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 3.0 и позже.

  • Отправленный делегату, когда служба Apple Push Notification не может успешно завершить процесс регистрации.

    Объявление

    Swift

    optional func application(_ application: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: NSError)

    Objective C

    - (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error

    Параметры

    application

    Объект приложения, инициировавший процесс регистрации удаленного уведомления.

    error

    NSError объект, инкапсулирующий информацию, почему не успешно выполнялась регистрация. Приложение может принять решение вывести на экран эту информацию пользователю.

    Обсуждение

    После вызова registerForRemoteNotifications метод UIApplication когда существует ошибка в процессе регистрации, объект, приложение вызывает этот метод.

    Для получения дополнительной информации о том, как реализовать удаленные уведомления в Вашем приложении, см. Локальное и Удаленное Руководство по программированию Уведомления.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 3.0 и позже.

  • Говорит приложению, что удаленное уведомление поступило, который указывает, что существуют данные, которые будут выбраны.

    Объявление

    Swift

    optional func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject], fetchCompletionHandler handler: (UIBackgroundFetchResult) -> Void)

    Objective C

    - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))handler

    Параметры

    application

    Одноэлементный объект приложения.

    userInfo

    Словарь, содержащий информацию, связанную с удаленным уведомлением, потенциально включая число значка для значка приложения, предупредительного звука, предупредительное сообщение для отображения пользователю, идентификатору уведомления и пользовательским данным. Провайдер порождает его как JSON-определенный словарь, который iOS преобразовывает в NSDictionary объект; словарь может содержать только объекты списка свойств плюс NSNull. Для получения дополнительной информации о содержании удаленного словаря уведомления, см. Локальное и Удаленное Руководство по программированию Уведомления.

    handler

    Блок для выполнения, когда работа загрузки завершена. При вызове этого блока передайте в значении результата выборки, лучше всего описывающем результаты работы загрузки. Вы должны вызвать этот обработчик и должны сделать так как можно скорее. Для списка возможных значений посмотрите UIBackgroundFetchResult ввести.

    Обсуждение

    Используйте этот метод для обработки входящих удаленных уведомлений для приложения. В отличие от этого application:didReceiveRemoteNotification: метод, который вызывают только, когда Ваше приложение работает на переднем плане, системные вызовы этот метод, когда Ваше приложение работает на переднем плане или фоне. Кроме того, при включении удаленного фонового режима уведомлений система запускает приложение (или будит его от состояния ожидания), и помещает его, в фоновом режиме утверждают, когда поступает удаленное уведомление. Однако система автоматически не запускает Ваше приложение, если пользователь был завершен силой он. В той ситуации пользователь должен повторно запустить Ваше приложение или перезапустить устройство, прежде чем система попытается запустить Ваше приложение автоматически снова.

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

    Как только Вы заканчиваете обрабатывать уведомление, необходимо призвать блок handler параметр или Ваше приложение будут завершены. Ваше приложение имеет до 30 секунд тактового стеной времени, чтобы обработать уведомление и вызвать указанный блок обработчика завершения. На практике необходимо вызвать блок обработчика, как только Вы сделаны, обработав уведомление. Система отслеживает прошедшее время, использование питания и затраты данных для фоновых загрузок Вашего приложения. Приложения, использующие существенное количество питания при обработке удаленных уведомлений, не могут всегда будиться рано для обработки будущих уведомлений.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 7.0 и позже.

  • Говорит делегату приложения выполнять пользовательское действие, указанное удаленным уведомлением.

    Объявление

    Swift

    optional func application(_ application: UIApplication, handleActionWithIdentifier identifier: String?, forRemoteNotification userInfo: [NSObject : AnyObject], completionHandler completionHandler: () -> Void)

    Objective C

    - (void)application:(UIApplication *)application handleActionWithIdentifier:(NSString *)identifier forRemoteNotification:(NSDictionary *)userInfo completionHandler:(void (^)(void))completionHandler

    Параметры

    application

    Объект приложения, получивший удаленное уведомление.

    identifier

    Идентификатор связался с пользовательским действием.

    userInfo

    Словарь, содержащий информацию, связанную с удаленным уведомлением. Этот словарь происходит из провайдера как JSON-определенный словарь, который iOS преобразовывает в NSDictionary объект прежде, чем вызвать этот метод. Содержание словаря является удаленной полезной нагрузкой уведомления, состоящей только из объектов списка свойств плюс NSNull. Для получения дополнительной информации о содержании удаленного словаря уведомления, см. Локальное и Удаленное Руководство по программированию Уведомления.

    completionHandler

    Блок для выполнения, когда Вы закончены, выполнив указанное действие. Необходимо вызвать этот блок в конце метода.

    Обсуждение

    Когда пользователь касается кнопки действий на предупреждении, выведенном на экран в ответ на удаленное уведомление, приложение вызывает этот метод. Удаленные уведомления, включающие a category введите их кнопки отображения полезной нагрузки для действий в соответствующей категории. Если пользователь касается одной из тех кнопок, система будит приложение (запускающий ее в случае необходимости) и вызывает этот метод в фоновом режиме. Ваша реализация этого метода должна выполнить действие, связанное с указанным identifier и выполните блок в completionHandler параметр, как только Вы сделаны. Отказ выполнить блок обработчика завершения в конце Вашей реализации заставит Ваше приложение быть завершенным.

    Для конфигурирования действий для данной категории создайте a UIUserNotificationActionSettings объект и регистр это с приложением, когда Вы вызываете registerUserNotificationSettings: метод.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 8.0 и позже.

  • Говорит делегату, что запущенное приложение получило удаленное уведомление.

    Объявление

    Swift

    optional func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject])

    Objective C

    - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo

    Параметры

    application

    Объект приложения, получивший удаленное уведомление.

    userInfo

    Словарь, содержащий информацию, связанную с удаленным уведомлением, потенциально включая число значка для значка приложения, предупредительного звука, предупредительное сообщение для отображения пользователю, идентификатору уведомления и пользовательским данным. Провайдер порождает его как JSON-определенный словарь, который iOS преобразовывает в NSDictionary объект; словарь может содержать только объекты списка свойств плюс NSNull.

    Обсуждение

    Реализуйте application:didReceiveRemoteNotification:fetchCompletionHandler: метод вместо этого, когда это возможно. Если Ваш делегат реализует оба метода, вызовы объектов приложения application:didReceiveRemoteNotification:fetchCompletionHandler: метод.

    Если приложение работает, приложение вызывает этот метод для обработки входящих удаленных уведомлений. userInfo словарь содержит aps ключ, значение которого является другим словарем с остающимися данными уведомления. Несмотря на то, что Вам не должна быть нужна информация в aps словарь, можно получить его содержание с помощью следующих ключей:

    • alert— Значение является или строкой для предупредительного сообщения или словарем с двумя ключами: body и show-view. Значение body ключ является строкой, содержащей предупредительное сообщение и значение show-view ключ является булевской переменной. Если значение show-view ключ false, кнопка View предупреждения не показана. Значение по умолчанию должно показать кнопку View, если пользователь касается его, запускающую приложение.

    • badge— Число, указывающее количество элементов данных для загрузки с провайдера. Это число должно быть выведено на экран на значке приложения. Отсутствие a badge свойство указывает, что должно быть удалено любое число в настоящее время применение идентификационных знаков значок.

    • sound— Имя звукового файла в комплекте приложений для игры как предупредительный звук. Если «значение по умолчанию» указано, звук по умолчанию должен играться.

    userInfo словарю мог также определить пользовательские данные провайдер согласно схеме JSON. Свойства для пользовательских данных должны быть указаны на том же уровне как aps словарь. Однако пользовательски определенные свойства не должны использоваться для транспорта данных большого объема, потому что существует строгий предел размера на уведомление (256 байтов), и поставка не гарантируется.

    Если приложение не работает, когда удаленное уведомление поступает, метод запускает приложение и предоставляет надлежащую информацию в словаре опций запуска. Приложение не вызывает этот метод для обработки того удаленного уведомления. Вместо этого Ваша реализация application:willFinishLaunchingWithOptions: или application:didFinishLaunchingWithOptions: метод должен получить удаленные данные полезной нагрузки уведомления и ответить соответственно.

    Для получения дополнительной информации о том, как реализовать удаленные уведомления в Вашем приложении, см. Локальное и Удаленное Руководство по программированию Уведомления.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 3.0 и позже.

  • Отправленный делегату, когда запущенное приложение получает локальное уведомление.

    Объявление

    Swift

    optional func application(_ application: UIApplication, didReceiveLocalNotification notification: UILocalNotification)

    Objective C

    - (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification

    Параметры

    application

    Объект приложения, получивший локальное уведомление.

    notification

    Локальное уведомление, инкапсулирующее подробные данные об уведомлении, потенциально включая пользовательские данные.

    Обсуждение

    Локальные уведомления подобны удаленным уведомлениям, но отличаются, в котором они запланированы, выведены на экран и получены полностью на том же устройстве. Приложение может создать и запланировать локальное уведомление, и операционная система тогда поставляет его в запланированной дате и времени. Если приложение не активно на переднем плане, когда уведомление стреляет, система использует информацию в UILocalNotification объект определить, должно ли это вывести на экран предупреждение, значок значок приложения, или играть звук. Если приложение работает на переднем плане, системные вызовы этот метод непосредственно, не предупреждая пользователя всегда.

    Вы могли бы реализовать этот метод в своем делегате, если Вы хотите быть уведомленными, что произошло локальное уведомление. Например, календарное приложение могло бы использовать локальные уведомления для предупреждения пользователя к предстоящим событиям.

    Если пользователь принимает решение открыть приложение, когда локальное уведомление происходит, словарь опций запуска передал application:willFinishLaunchingWithOptions: и application:didFinishLaunchingWithOptions: методы содержат UIApplicationLaunchOptionsLocalNotificationKey ключ. Этот метод вызывают в некоторый момент после Вашего делегата application:didFinishLaunchingWithOptions: метод.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 4.0 и позже.

  • Говорит делегату, что пользователь выбрал пользовательское действие из предупредительной панели локального уведомления.

    Объявление

    Swift

    optional func application(_ application: UIApplication, handleActionWithIdentifier identifier: String?, forLocalNotification notification: UILocalNotification, completionHandler completionHandler: () -> Void)

    Objective C

    - (void)application:(UIApplication *)application handleActionWithIdentifier:(NSString *)identifier forLocalNotification:(UILocalNotification *)notification completionHandler:(void (^)(void))completionHandler

    Параметры

    application

    Объект приложения, получивший локальное уведомление.

    identifier

    Идентификатор связался с пользовательским действием. Эта строка соответствует идентификатору от UILocalNotificationAction объект, использовавшийся для конфигурирования действия в локальном уведомлении.

    notification

    Инициированный локальный объект уведомления.

    completionHandler

    Блок для вызова, когда Вы закончены, выполнив действие.

    Обсуждение

    Когда пользователь касается кнопки действий на предупреждении, выведенном на экран в ответ на локальное уведомление, приложение вызывает этот метод. Локальные уведомления, включающие зарегистрированное название категории в их category кнопки отображения свойства для действий в той категории. Если пользователь касается одной из тех кнопок, система будит приложение (запускающий ее в случае необходимости) и вызывает этот метод в фоновом режиме. Ваша реализация этого метода должна выполнить действие, связанное с указанным identifier и выполните блок в completionHandler параметр, как только Вы сделаны. Отказ выполнить блок обработчика завершения в конце Вашей реализации заставит Ваше приложение быть завершенным.

    Для конфигурирования действий для данной категории создайте a UIUserNotificationActionSettings объект и регистр это с приложением, когда Вы вызываете registerUserNotificationSettings: метод.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 8.0 и позже.

  • Говорит делегату, какие типы уведомлений могут использоваться для привлечения внимания пользователя.

    Объявление

    Swift

    optional func application(_ application: UIApplication, didRegisterUserNotificationSettings notificationSettings: UIUserNotificationSettings)

    Objective C

    - (void)application:(UIApplication *)application didRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings

    Параметры

    application

    Объект приложения, зарегистрировавший пользовательские настройки уведомлений.

    notificationSettings

    Пользовательские настройки уведомлений, которые доступны Вашему приложению. Настройки в этом объекте могут отличаться, чем те, Вы первоначально запросили.

    Обсуждение

    Приложения, использующие локальные или удаленные уведомления для предупреждения пользователя к новой информации, должны зарегистрировать типы уведомлений, которые они хотят использовать путем вызова registerUserNotificationSettings: метод объекта приложения. (В приложениях, соединяющихся на версиях iOS до 8,0, регистрация может также произойти неявно при планировании локального уведомления.) Запрос Вашего приложения объединен с текущими предпочтениями пользователя для определения то, какие типы уведомления позволяются, и результаты поставлены к этому методу в notificationSettings параметр.

    В первый раз, когда Вы регистрируете предпочтительные типы уведомления своего приложения, система спрашивает пользователя, нужно ли Вашему приложению позволить поставить уведомления и хранит ответ пользователя. Система не предлагает пользователю во время последующих регистрационных попыток. Пользователь может всегда изменять предпочтения уведомления с помощью приложения Настроек.

    Поскольку предпочтения пользователя могут измениться, необходимо всегда проверять содержание notificationSettings параметр. Эти настройки управляют только, уведомляется ли пользователь о локальном или удаленном уведомлении. Уведомление все еще поставлено Вашему приложению в подходящее время.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 8.0 и позже.

  • Когда приложение получает предупреждение памяти от системы, говорит делегату.

    Объявление

    Swift

    optional func applicationDidReceiveMemoryWarning(_ application: UIApplication)

    Objective C

    - (void)applicationDidReceiveMemoryWarning:(UIApplication *)application

    Параметры

    application

    Одноэлементный объект приложения.

    Обсуждение

    Ваша реализация этого метода должна высвободить как можно больше памяти путем чистки объектов кэшированных данных, которые могут быть воссозданы (или перезагружены от диска), позже. Вы используете этот метод в сочетании с didReceiveMemoryWarning из UIViewController класс и UIApplicationDidReceiveMemoryWarningNotification уведомление для выпуска памяти всюду по приложению.

    Строго рекомендуется реализовать этот метод. Если Ваше приложение не выпускает достаточно памяти во время условий низкой памяти, система может завершить его напрямую.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 2.0 и позже.

  • Когда существует существенное изменение во время, говорит делегату.

    Объявление

    Swift

    optional func applicationSignificantTimeChange(_ application: UIApplication)

    Objective C

    - (void)applicationSignificantTimeChange:(UIApplication *)application

    Параметры

    application

    Одноэлементный объект приложения.

    Обсуждение

    Примеры значительных изменений времени включают поступление полуночи, обновление времени поставщиком услуг и изменение в летнем времени. Делегат может реализовать этот метод для корректировки любого объекта приложения, которое выводит на экран время или чувствительно к изменениям времени.

    До вызова этого метода приложение также отправляет a UIApplicationSignificantTimeChangeNotification уведомление, чтобы дать заинтересованным объектам шанс реагировать на изменение.

    Если Ваше приложение в настоящее время приостанавливается, это сообщение ставится в очередь, пока Ваше приложение не возвращается в передний план, в которой точке это поставлено. Если многократные изменения времени происходят, только новый поставлен.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 2.0 и позже.

  • Просит делегат реагировать на запрос из парного приложения WatchKit.

    Объявление

    Swift

    optional func application(_ application: UIApplication, handleWatchKitExtensionRequest userInfo: [NSObject : AnyObject]?, reply reply: (([NSObject : AnyObject]!) -> Void)!)

    Objective C

    - (void)application:(UIApplication *)application handleWatchKitExtensionRequest:(NSDictionary *)userInfo reply:(void (^)(NSDictionary *replyInfo))reply

    Параметры

    application

    Одноэлементный объект приложения.

    userInfo

    Словарь, предоставленный приложением WatchKit информацию о запросе. Используйте данные в этом словаре для обработки запроса из приложения WatchKit.

    reply

    Блок для выполнения с результатами запроса. Этот блок не имеет никакого возвращаемого значения и берет следующий параметр:

    replyInfo

    Словарь, содержащий данные для возврата к приложению WatchKit. Содержание словаря должно быть сериализуемым к файлу списка свойств. Содержание этого словаря по Вашему усмотрению, и можно указать nil.

    Обсуждение

    Если Ваше приложение для iOS и усилия по координате приложения WatchKit выполнить определенные задачи, реализуйте этот метод и используйте его для ответа на запросы из приложения WatchKit. После окончания запроса выполните предоставленное reply блок (если таковые имеются) для возврата результатов.

    Поскольку этот метод, вероятно, вызовут, в то время как Ваше приложение в фоновом режиме, вызовите beginBackgroundTaskWithName:expirationHandler: метод в начале Вашей реализации и endBackgroundTask: метод после того, как Вы обработали ответ и выполнились reply блок. Запуск фоновой задачи гарантирует, что Ваше приложение не приостановлено, прежде чем это будет иметь возможность отправить ее ответ.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 8.2 и позже.

  • Спрашивает делегат, должно ли быть сохранено состояние приложения.

    Объявление

    Swift

    optional func application(_ application: UIApplication, shouldSaveApplicationState coder: NSCoder) -> Bool

    Objective C

    - (BOOL)application:(UIApplication *)application shouldSaveApplicationState:(NSCoder *)coder

    Параметры

    application

    Одноэлементный объект приложения.

    coder

    Включенный archiver, в который можно поместить высокоуровневую информацию состояния.

    Возвращаемое значение

    YEStrue если состояние приложения должно быть сохранено или NOfalse если это не должно.

    Обсуждение

    Приложения должны реализовать этот метод и application:shouldRestoreApplicationState: метод для сохранения состояния для появления. Кроме того, Ваша реализация этого метода должна возвратиться YEStrue каждый раз UIKit пытается сохранить состояние Вашего приложения. Можно возвратиться NOfalse отключить сохранение состояния временно. Например, во время тестирования, Вы могли отключить сохранение состояния для тестирования определенных путей выполнения кода.

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

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 6.0 и позже.

  • Спрашивает делегат, должна ли быть восстановлена сохраненная информация приложения состояния.

    Объявление

    Swift

    optional func application(_ application: UIApplication, shouldRestoreApplicationState coder: NSCoder) -> Bool

    Objective C

    - (BOOL)application:(UIApplication *)application shouldRestoreApplicationState:(NSCoder *)coder

    Параметры

    application

    Одноэлементный объект приложения.

    coder

    Включенный archiver, содержащий ранее сохраненную информацию приложения состояния.

    Возвращаемое значение

    YEStrue если состояние приложения должно быть восстановлено или NOfalse если это не должно.

    Обсуждение

    Приложения должны реализовать этот метод и application:shouldSaveApplicationState: метод для сохранения состояния для появления. Кроме того, Ваша реализация этого метода должна возвратиться YEStrue каждый раз UIKit пытается восстановить состояние Вашего приложения. Можно использовать информацию в предоставленном объекте кодера решить, продолжить ли с восстановлением состояния. Например, Вы могли бы возвратиться NOfalse если данные в кодере от различной версии Вашего приложения и не могут быть эффективно восстановлены текущей версии.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 6.0 и позже.

  • Просит делегат обеспечивать указанный контроллер представления.

    Объявление

    Swift

    optional func application(_ application: UIApplication, viewControllerWithRestorationIdentifierPath identifierComponents: [AnyObject], coder coder: NSCoder) -> UIViewController?

    Objective C

    - (UIViewController *)application:(UIApplication *)application viewControllerWithRestorationIdentifierPath:(NSArray *)identifierComponents coder:(NSCoder *)coder

    Параметры

    application

    Одноэлементный объект приложения.

    identifierComponents

    Массив NSString объекты, соответствующие идентификаторам восстановления желаемого контроллера представления и всем его наследователям в иерархии контроллера представления. Последнее значение в массиве является идентификатором восстановления желаемого контроллера представления. Более ранние записи представляют идентификаторы восстановления его наследователей.

    coder

    Включенный archiver, содержащий сохраненную информацию приложения состояния.

    Возвращаемое значение

    Контроллер представления возражает для использования или nil если делегат приложения не предоставляет этот контроллер представления. Если возвращается этот метод nil, UIKit пытается найти контроллер представления неявно с помощью доступного тракта восстановления и информации о раскадровке.

    Обсуждение

    Во время восстановления состояния, когда UIKit встречается с контроллером представления без класса восстановления, он вызывает этот метод для выяснения соответствующий объект контроллера представления. Ваша реализация этого метода должна создать (или найти), соответствующий объект контроллера представления, и возвратите его. Если Ваш делегат приложения не обеспечивает контроллер представления, возвратиться nil.

    Вы используете строки в identifierComponents параметр для идентификации контроллера представления, который требуют. Контроллеры представления в Вашем приложении формируют иерархию. В корне этой иерархии корневой контроллер представления окна, который сам может представить или встроить другие контроллеры представления. Те представленные или встроенные контроллеры представления могут самостоятельно представить и встроить другие контроллеры представления. Результатом является иерархия отношений контроллера представления с каждым представленным или встроенным контроллером представления, становящимся дочерним элементом контроллера представления, представившего или встроившего его. Строки в identifierComponents массив идентифицирует путь через эту иерархию с корневого контроллера представления на желаемый контроллер представления.

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

    Ваша реализация этого метода может использовать любые данные в предоставленном coder помогать в процессе восстановления. Однако Вы обычно не должны восстанавливать все состояние контроллера представления в этой точке. Во время более поздней передачи просмотрите контроллеры, определяющие a decodeRestorableStateWithCoder: методу обычно дают, шанс восстановить их состояние формируют тот же объект кодера. Точно так же у делегата приложения самостоятельно есть a application:didDecodeRestorableStateWithCoder: метод, который можно использовать для получения информации о состоянии уровня соответствующего приложения.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 6.0 и позже.

  • Говорит Вашему делегату сохранять любую высокоуровневую информацию состояния в начале процесса сохранения состояния.

    Объявление

    Swift

    optional func application(_ application: UIApplication, willEncodeRestorableStateWithCoder coder: NSCoder)

    Objective C

    - (void)application:(UIApplication *)application willEncodeRestorableStateWithCoder:(NSCoder *)coder

    Параметры

    application

    Одноэлементный объект приложения.

    coder

    Включенный archiver, в котором можно записать любую информацию состояния.

    Обсуждение

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

    Ваша реализация этого метода может закодировать восстановимое представление и просмотреть объекты контроллера, что это должно сослаться. Кодирование восстановимого контроллера представления или представления пишет что идентификатор восстановления объекта в кодер. (Что идентификатор используется во время процесса декодирования для определения местоположения новой версии объекта.), Если контроллер представления или представления определяет a encodeRestorableStateWithCoder: метод, тот метод также вызывают в некоторый момент так, чтобы объект мог закодировать свое собственное состояние.

    Кроме представлений и контроллеров представления, другие объекты следуют за нормальным процессом сериализации и должны принять NSCoding протокол, прежде чем они смогут быть закодированы. Кодирование таких объектов встраивает содержание объекта в архив непосредственно. Во время процесса декодирования новый объект создается и инициализируется с данными от архива.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 6.0 и позже.

  • Говорит Вашему делегату восстанавливать любую высокоуровневую информацию состояния как часть процесса восстановления состояния.

    Объявление

    Swift

    optional func application(_ application: UIApplication, didDecodeRestorableStateWithCoder coder: NSCoder)

    Objective C

    - (void)application:(UIApplication *)application didDecodeRestorableStateWithCoder:(NSCoder *)coder

    Параметры

    application

    Одноэлементный объект приложения.

    coder

    Включенный archiver, содержащий ранее сохраненную информацию приложения состояния.

    Обсуждение

    Система резервирования состояния вызывает этот метод как последний шаг в процессе восстановления состояния. К тому времени, когда этот метод вызывают, все другие восстановимые объекты будут восстановлены и отложены в их предыдущее состояние. Можно использовать этот метод для чтения любых высокоуровневых данных приложения, которые Вы сохранили в application:willEncodeRestorableStateWithCoder: метод и применяет его к Вашему приложению.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 6.0 и позже.

  • Просит делегат открывать ресурс, идентифицированный URL.

    Объявление

    Swift

    optional func application(_ application: UIApplication, openURL url: NSURL, sourceApplication sourceApplication: String?, annotation annotation: AnyObject?) -> Bool

    Objective C

    - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation

    Параметры

    application

    Одноэлементный объект приложения.

    url

    Ресурс URL для открытия. Этот ресурс может быть сетевым ресурсом или файлом. Для получения информации о зарегистрированных Apple схемах URL посмотрите Apple Ссылка Схемы URL.

    sourceApplication

    ID пакета приложения, запрашивающего Ваше приложение открыть URL (url).

    annotation

    Объект списка свойств, предоставленный исходным приложением для передачи информации к приложению получения.

    Возвращаемое значение

    YEStrue если делегат успешно обработал запрос или NOfalse если попытка открыть ресурс URL перестала работать.

    Обсуждение

    Ваша реализация этого метода должна открыть указанный URL и обновить его пользовательский интерфейс соответственно. Если Ваше приложение должно было быть запущено для открытия URL, приложение вызывает application:willFinishLaunchingWithOptions: и application:didFinishLaunchingWithOptions: методы сначала, сопровождаемый этим методом. Возвращаемые значения тех методов могут использоваться, чтобы препятствовать тому, чтобы был вызван этот метод. (Если приложение уже работает, только этот метод вызывают.)

    Если URL относится к файлу, открытому через контроллер взаимодействия документа, annotation параметр может содержать дополнительные данные, которые исходное приложение хотело отправить вместе с URL. Формат этих данных определяется приложением, отправившим его, но данные должны состоять из объектов, которые могут быть помещены в список свойств.

    Файлы, отправленные в Ваше приложение через AirDrop или контроллер взаимодействия документа, помещаются в Documents/Inbox каталог корневого каталога Вашего приложения. Ваше приложение имеет разрешение считать и удалить файлы в этом каталоге, но не имеет разрешения записать в них. Если Вы хотите изменить файл, необходимо переместить его в различный каталог сначала. Кроме того, файлы в том каталоге обычно шифруются с помощью защиты данных. Если файл будет защищен, и пользователь блокирует устройство, прежде чем этот метод вызовут, то Вы будете неспособны считать содержание файла сразу. В этом случае необходимо сохранить URL и попытаться открыть файл позже, а не возврат NOfalse от этого метода. Используйте protectedDataAvailable свойство приложения возражает, чтобы определить, включается ли в настоящее время защита данных.

    Нет никакого уведомления соответствия для этого метода.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 4.2 и позже.

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

    Объявление

    Swift

    optional func application(_ application: UIApplication, willContinueUserActivityWithType userActivityType: String) -> Bool

    Objective C

    - (BOOL)application:(UIApplication *)application willContinueUserActivityWithType:(NSString *)userActivityType

    Параметры

    application

    Объект общего приложения.

    userActivityType

    Требуемый тип действия.

    Возвращаемое значение

    YEStrue если Вы уведомляете пользователя, что Ваше приложение собирается продолжать действие или NOfalse если Вы хотите, чтобы iOS уведомил пользователя.

    Обсуждение

    Используйте этот метод для обеспечения непосредственной обратной связи для пользователя, что действие собирается продолжить это устройство. Приложение вызывает этот метод, как только пользователь подтверждает, что действие должно продолжаться, но возможно прежде чем данные, связанные с тем действием, доступны.

    Ваша реализация этого метода должна подготовить инициировать действие. При уведомлении пользователя как части приготовлений возвратиться YEStrue от этого метода так, чтобы iOS не выводил на экран его собственное уведомление. Если Вы не реализуете этот метод или Ваши возвраты реализации NOfalse, iOS выводит на экран его собственное уведомление пользователю.

    Этот метод не вызывают если также application:willFinishLaunchingWithOptions: или application:didFinishLaunchingWithOptions: возвраты NOfalse.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 8.0 и позже.

  • Говорит делегату, что данные для продолжения действия доступны.

    Объявление

    Swift

    optional func application(_ application: UIApplication, continueUserActivity userActivity: NSUserActivity, restorationHandler restorationHandler: ([AnyObject]!) -> Void) -> Bool

    Objective C

    - (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray *restorableObjects))restorationHandler

    Параметры

    application

    Объект общего приложения.

    userActivity

    Объект действия, содержащий данные, связанные с задачей пользователь, выполнял. Используйте данные в этом объекте воссоздать то, что делал пользователь.

    restorationHandler

    Блок, чтобы выполниться, если Ваше приложение создает объекты выполнить задачу. Вызов этого блока является дополнительным, и можно скопировать этот блок и вызвать его в более позднее время. При вызове сохраненной копии блока необходимо вызвать его от основного потока приложения. Этот блок не имеет никакого возвращаемого значения и берет следующий параметр:

    restorableObjects

    Массив UIResponder объекты, представляющие, возражают, что Вы создали или выбрали для выполнения работы. Системные вызовы restoreUserActivityState: метод каждого объекта в массиве, чтобы дать ему шанс выполнить работу.

    Возвращаемое значение

    YEStrue указать, что Ваше приложение обработало действие или NOfalse позволять iOS знать, что Ваше приложение не обрабатывало действие.

    Обсуждение

    Приложение вызывает этот метод, когда это получает данные, связанные с пользовательским действием. Этот метод является Вашей возможностью обновить Ваше приложение так, чтобы это могло выполнить связанную задачу. Если Ваша реализация возвращается, если Вы не реализуете этот метод или NOfalse, iOS пытается создать документ для Вашего приложения для открытия использования URL.

    Призыв блока restorationHandler когда конкретные объекты способны к продолжению действия, является дополнительным и является только необходимым.

    Этот метод не вызывают если также application:willFinishLaunchingWithOptions: или application:didFinishLaunchingWithOptions: возвраты NOfalse.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 8.0 и позже.

  • Говорит делегату, что было обновлено действие. (требуемый)

    Объявление

    Swift

    optional func application(_ application: UIApplication, didUpdateUserActivity userActivity: NSUserActivity)

    Objective C

    - (void)application:(UIApplication *)application didUpdateUserActivity:(NSUserActivity *)userActivity

    Параметры

    application

    Объект общего приложения.

    userActivity

    Объект действия, содержащий данные, связанные с задачей пользователь, выполнял.

    Обсуждение

    Когда пользовательское действие, которым управляет UIKit, было обновлено, этот метод вызывают на основном потоке. Можно реализовать этот метод как заключительную возможность добавить данные к пользовательскому объекту действия.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 8.0 и позже.

  • Говорит делегату, что не могло продолжаться действие.

    Объявление

    Swift

    optional func application(_ application: UIApplication, didFailToContinueUserActivityWithType userActivityType: String, error error: NSError)

    Objective C

    - (void)application:(UIApplication *)application didFailToContinueUserActivityWithType:(NSString *)userActivityType error:(NSError *)error

    Параметры

    application

    Объект общего приложения.

    userActivityType

    Опробованный тип действия.

    error

    Ошибочный объект указание причины отказа.

    Обсуждение

    Используйте этот метод, чтобы позволить пользователю знать, что не могло продолжаться указанное действие. Если Вы не реализуете этот метод, UIKit выводит на экран ошибку пользователю с надлежащим сообщением о причине отказа.

    Этот метод не вызывают если также application:willFinishLaunchingWithOptions: или application:didFinishLaunchingWithOptions: возвраты NOfalse.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 8.0 и позже.

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

    Объявление

    Swift

    optional func application(_ application: UIApplication, shouldAllowExtensionPointIdentifier extensionPointIdentifier: String) -> Bool

    Objective C

    - (BOOL)application:(UIApplication *)application shouldAllowExtensionPointIdentifier:(NSString *)extensionPointIdentifier

    Параметры

    application

    Объект общего приложения.

    extensionPointIdentifier

    Постоянная идентификация точки расширения.

    Возвращаемое значение

    NOfalse запрещать использование указанного типа расширения приложения, или YEStrue позволить использование типа.

    Обсуждение

    Можно реализовать этот метод для отклонения указанного типа расширения приложения, на основе его идентификатора точки расширения, от использования в приложении. Посмотрите Константы Идентификатора Точки расширения в Ссылке класса UIApplication.

    Если Вы не реализуете этот метод, все типы расширения приложения доступны для использования в Вашем приложении.

    В iOS 8.0 единственный тип расширения приложения, которое можно отклонить, является пользовательской клавиатурой. Для получения информации о расширениях приложения см. Руководство по программированию Расширения Приложения.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 8.0 и позже.

  • Когда интерфейсная ориентация строки состояния собирается измениться, говорит делегату.

    Объявление

    Swift

    optional func application(_ application: UIApplication, willChangeStatusBarOrientation newStatusBarOrientation: UIInterfaceOrientation, duration duration: NSTimeInterval)

    Objective C

    - (void)application:(UIApplication *)application willChangeStatusBarOrientation:(UIInterfaceOrientation)newStatusBarOrientation duration:(NSTimeInterval)duration

    Параметры

    application

    Одноэлементный объект приложения.

    newStatusBarOrientation

    Константа, указывающая новую ориентацию пользовательского интерфейса приложения; посмотрите Изменения состояния Приложения мониторинга для подробных данных.

    duration

    Продолжительность анимации к новой ориентации, в секундах.

    Обсуждение

    Делегат обычно реализует этот метод для подготовки его окон и представлений для новой ориентации. Делегат может получить текущую ориентацию устройства от совместно используемого UIDevice объект.

    После вызова этого метода приложение также отправляет a UIApplicationWillChangeStatusBarOrientationNotification уведомление, чтобы дать заинтересованным объектам шанс реагировать на изменение.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 2.0 и позже.

  • Когда интерфейсная ориентация строки состояния изменилась, говорит делегату.

    Объявление

    Swift

    optional func application(_ application: UIApplication, didChangeStatusBarOrientation oldStatusBarOrientation: UIInterfaceOrientation)

    Objective C

    - (void)application:(UIApplication *)application didChangeStatusBarOrientation:(UIInterfaceOrientation)oldStatusBarOrientation

    Параметры

    application

    Одноэлементный объект приложения.

    oldStatusBarOrientation

    Константа, указывающая предыдущую ориентацию пользовательского интерфейса приложения; посмотрите Изменения состояния Приложения мониторинга для подробных данных.

    Обсуждение

    Делегат может получить текущую ориентацию устройства от совместно используемого UIDevice объект.

    После вызова этого метода приложение также отправляет a UIApplicationDidChangeStatusBarOrientationNotification уведомление, чтобы дать заинтересованным объектам шанс реагировать на изменение.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 2.0 и позже.

  • Когда кадр строки состояния собирается измениться, говорит делегату.

    Объявление

    Swift

    optional func application(_ application: UIApplication, willChangeStatusBarFrame newStatusBarFrame: CGRect)

    Objective C

    - (void)application:(UIApplication *)application willChangeStatusBarFrame:(CGRect)newStatusBarFrame

    Параметры

    application

    Одноэлементный объект приложения.

    newStatusBarFrame

    Измененный кадр строки состояния, в координатах экрана.

    Обсуждение

    Приложение вызывает этот метод, когда это получает a setStatusBarOrientation:animated: обменивайтесь сообщениями и собирается изменить интерфейсную ориентацию.

    После вызова этого метода приложение также отправляет a UIApplicationWillChangeStatusBarFrameNotification уведомление, чтобы дать заинтересованным объектам шанс реагировать на изменение.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 2.0 и позже.

  • Когда кадр строки состояния изменился, говорит делегату.

    Объявление

    Swift

    optional func application(_ application: UIApplication, didChangeStatusBarFrame oldStatusBarFrame: CGRect)

    Objective C

    - (void)application:(UIApplication *)application didChangeStatusBarFrame:(CGRect)oldStatusBarFrame

    Параметры

    application

    Одноэлементный объект приложения.

    oldStatusBarFrame

    Предыдущий кадр строки состояния, в координатах экрана.

    Обсуждение

    После вызова этого метода приложение также отправляет a UIApplicationDidChangeStatusBarFrameNotification уведомление, чтобы дать заинтересованным объектам шанс реагировать на изменение.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 2.0 и позже.

  • Говорит делегату, что защищенные файлы собираются стать недоступными.

    Объявление

    Swift

    optional func applicationProtectedDataWillBecomeUnavailable(_ application: UIApplication)

    Objective C

    - (void)applicationProtectedDataWillBecomeUnavailable:(UIApplication *)application

    Параметры

    application

    Одноэлементный объект приложения.

    Обсуждение

    На устройстве, использующем защиту содержания, защищенные файлы хранятся в зашифрованном виде и делаются доступный только в определенные времена, обычно когда разблокировано устройство. Это уведомление позволяет Вашему приложению знать, что устройство собирается быть заблокированным и что любые защищенные файлы, к которым это в настоящее время получает доступ, могли бы стать недоступными вскоре.

    Если Ваше приложение в настоящее время получает доступ к защищенному файлу, можно использовать этот метод для выпуска любых ссылок на тот файл. Несмотря на то, что это не ошибка получить доступ к файлу, в то время как устройство заблокировано, любые попытки сделать так перестанут работать. Поэтому, если Ваше приложение зависит от файла, Вы могли бы хотеть предпринять шаги для избегания использования того файла, в то время как заблокировано устройство.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 4.0 и позже.

  • Говорит делегату, что защищенные файлы доступны теперь.

    Объявление

    Swift

    optional func applicationProtectedDataDidBecomeAvailable(_ application: UIApplication)

    Objective C

    - (void)applicationProtectedDataDidBecomeAvailable:(UIApplication *)application

    Параметры

    application

    Одноэлементный объект приложения.

    Обсуждение

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

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 4.0 и позже.

  • Просит делегат к интерфейсным ориентациям использовать для контроллеров представления в указанном окне.

    Объявление

    Swift

    optional func application(_ application: UIApplication, supportedInterfaceOrientationsForWindow window: UIWindow?) -> Int

    Objective C

    - (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window

    Параметры

    application

    Одноэлементный объект приложения.

    window

    Окно, интерфейсные ориентации которого Вы хотите получить.

    Возвращаемое значение

    Немного маски UIInterfaceOrientationMask константы, указывающие ориентации для использования для контроллеров представления.

    Обсуждение

    Этот метод возвращает общий набор интерфейсных ориентаций, поддерживаемых приложением. При определении, повернуть ли определенный контроллер представления, ориентации, возвращенные этим методом, пересечены с ориентациями, поддерживаемыми, полностью просматривают контроллер или самый верхний представленный контроллер представления. Приложение и контроллер представления должны согласиться, прежде чем будет позволено вращение.

    Если Вы не реализуете этот метод, приложение использует значения в UIInterfaceOrientation ключ приложения Info.plist как интерфейсные ориентации по умолчанию.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 6.0 и позже.

  • Когда приложение закончило запускаться, говорит делегату.

    Объявление

    Swift

    optional func applicationDidFinishLaunching(_ application: UIApplication)

    Objective C

    - (void)applicationDidFinishLaunching:(UIApplication *)application

    Параметры

    application

    Одноэлементный объект приложения.

    Обсуждение

    Несмотря на то, что не формально осуждаемый, Вы не должны использовать этот метод в своих приложениях. Используйте application:willFinishLaunchingWithOptions: и application:didFinishLaunchingWithOptions: методы вместо этого.

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

    После вызова этого метода приложение также отправляет a UIApplicationDidFinishLaunchingNotification уведомление, чтобы дать заинтересованным объектам шанс реагировать на цикл инициализации.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 2.0 и позже.

  • Просит делегат открывать ресурс, идентифицированный URL.

    Используйте application:openURL:sourceApplication:annotation: метод вместо этого.

    Объявление

    Swift

    optional func application(_ application: UIApplication, handleOpenURL url: NSURL) -> Bool

    Objective C

    - (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url

    Параметры

    application

    Одноэлементный объект приложения.

    url

    Объект, представляющий URL (Унифицированный указатель ресурсов). См. приложение Руководства по программированию Приложения для iOS для зарегистрированных Apple схем URLs.

    Возвращаемое значение

    YEStrue если делегат успешно обработал запрос; NOfalse если попытка обработать URL перестала работать.

    Обсуждение

    Если делегат также реализует application:openURL:sourceApplication:annotation: метод, тот метод вызывают вместо этого.

    Если делегат возвращается, этот метод не вызывают NOfalse от обоих application:willFinishLaunchingWithOptions: и application:didFinishLaunchingWithOptions: методы. (Если только один из этих двух методов реализован, его возвращаемое значение определяет, вызывают ли этот метод.), Если Ваше приложение реализует applicationDidFinishLaunching: метод вместо application:didFinishLaunchingWithOptions:, этот метод вызывают для открытия указанного URL после того, как было инициализировано приложение.

    Если URL поступает, в то время как Ваше приложение приостановлено или работающий в фоновом режиме, система перемещает Ваше приложение в передний план до вызова этого метода.

    Нет никакого эквивалентного уведомления для этого метода делегации.

    Оператор импорта

    Objective C

    @import UIKit;

    Swift

    import UIKit

    Доступность

    Доступный в iOS 2.0 и позже.

  • Ключи раньше получали доступ к значениям в словаре опций запуска, переданном application:willFinishLaunchingWithOptions: и application:didFinishLaunchingWithOptions: методы делегата приложения.

    Объявление

    Swift

    let UIApplicationLaunchOptionsURLKey: String let UIApplicationLaunchOptionsSourceApplicationKey: String let UIApplicationLaunchOptionsRemoteNotificationKey: String let UIApplicationLaunchOptionsAnnotationKey: String let UIApplicationLaunchOptionsLocalNotificationKey: String let UIApplicationLaunchOptionsLocationKey: String let UIApplicationLaunchOptionsNewsstandDownloadsKey: String let UIApplicationLaunchOptionsBluetoothCentralsKey: String let UIApplicationLaunchOptionsBluetoothPeripheralsKey: String let UIApplicationLaunchOptionsUserActivityDictionaryKey: String let UIApplicationLaunchOptionsUserActivityTypeKey: String

    Objective C

    NSString *const UIApplicationLaunchOptionsURLKey; NSString *const UIApplicationLaunchOptionsSourceApplicationKey; NSString *const UIApplicationLaunchOptionsRemoteNotificationKey; NSString *const UIApplicationLaunchOptionsAnnotationKey; NSString *const UIApplicationLaunchOptionsLocalNotificationKey; NSString *const UIApplicationLaunchOptionsLocationKey; NSString *const UIApplicationLaunchOptionsNewsstandDownloadsKey; NSString *const UIApplicationLaunchOptionsBluetoothCentralsKey; NSString *const UIApplicationLaunchOptionsBluetoothPeripheralsKey; NSString *const UIApplicationLaunchOptionsRemoteVoIPKey; NSString *const UIApplicationLaunchOptionsUserActivityDictionaryKey; NSString *const UIApplicationLaunchOptionsUserActivityTypeKey;

    Константы

    • UIApplicationLaunchOptionsURLKey

      Присутствие этого ключа указывает, что приложение было запущено для открытия URL. Значение этого ключа NSURL объект, содержащий URL для открытия.

      Этот ключ также используется для доступа к тому же значению в userInfo словарь уведомления называют UIApplicationDidFinishLaunchingNotification.

      Доступный в iOS 3.0 и позже.

    • UIApplicationLaunchOptionsSourceApplicationKey

      Присутствие этого ключа идентифицирует приложение, запросившее запуск Вашего приложения. Значение этого ключа NSString объект, представляющий пакет ID приложения, выполнившего запрос.

      Этот ключ также используется для доступа к тому же значению в userInfo словарь уведомления называют UIApplicationDidFinishLaunchingNotification.

      Доступный в iOS 3.0 и позже.

    • UIApplicationLaunchOptionsRemoteNotificationKey

      Присутствие этого ключа указывает, что удаленное уведомление доступно для приложения для обработки. Значение этого ключа NSDictionary содержа полезную нагрузку удаленного уведомления. См. описание application:didReceiveRemoteNotification: для получения дополнительной информации об обработке удаленных уведомлений.

      Этот ключ также используется для доступа к тому же значению в userInfo словарь уведомления называют UIApplicationDidFinishLaunchingNotification.

      Доступный в iOS 3.0 и позже.

    • UIApplicationLaunchOptionsAnnotationKey

      Присутствие этого ключа указывает, что пользовательские данные были предоставлены приложением, запросившим открытие URL. Значение этого ключа является объектом списка свойств, содержащим пользовательские данные. Тот же объект также передается параметру аннотации application:openURL:sourceApplication:annotation: метод. Содержание этого объекта списка свойств является определенным для приложения, выполнившего запрос.

      Доступный в iOS 3.2 и позже.

    • UIApplicationLaunchOptionsLocalNotificationKey

      Присутствие этого ключа указывает, что локальное уведомление доступно для приложения для обработки. Значение этого ключа UILocalNotification инициированный объект. Для получения дополнительной информации об обработке локальных уведомлений посмотрите application:didReceiveLocalNotification: метод.

      Этот ключ также используется для доступа к тому же значению в userInfo словарь уведомления называют UIApplicationDidFinishLaunchingNotification.

      Доступный в iOS 4.0 и позже.

    • UIApplicationLaunchOptionsLocationKey

      Присутствие этого ключа указывает, что приложение было запущено в ответ на входящее событие расположения. Значение этого ключа NSNumber объект, содержащий булево значение. Необходимо использовать присутствие этого ключа как сигнал создать a CLLocationManager возразите и запустите службы определения местоположения снова. Данные расположения поставлены только менеджеру расположения делегата и не использующий этот ключ.

      Доступный в iOS 4.0 и позже.

    • UIApplicationLaunchOptionsNewsstandDownloadsKey

      Присутствие этого ключа указывает, что недавно загруженные активы Киоска доступны для Вашего приложения. Значение этого ключа является массивом идентификаторов строки, идентифицирующих NKAssetDownload объекты, соответствующие активам. Несмотря на то, что можно использовать идентификаторы для перепроверки целей, необходимо получить категорический массив NKAssetDownload объекты (представляющий актив загружает происходящий или по ошибке), через downloadingAssets свойство NKLibrary объект, представляющий библиотеку приложения Киоска.

      Доступный в iOS 5.0 и позже.

    • UIApplicationLaunchOptionsBluetoothCentralsKey

      Присутствие этого ключа указывает, что приложение ранее имело один или больше CBCentralManager объекты и были повторно запущены системой Bluetooth для продолжения действий, связанных с теми объектами. Значение этого ключа NSArray объект, содержащий один или больше NSString объекты.

      Каждая строка в массиве представляет идентификатор восстановления для центрального объекта менеджера. Это - та же строка, которую Вы присвоили CBCentralManagerOptionRestoreIdentifierKey ключ, когда Вы инициализировали центральный объект менеджера ранее. Система предоставляет идентификаторы восстановления только центральным менеджерам, имевшим активные или незаконченные периферийные соединения или сканировавшим для периферийных устройств.

      Доступный в iOS 7.0 и позже.

    • UIApplicationLaunchOptionsBluetoothPeripheralsKey

      Присутствие этого ключа указывает, что приложение ранее имело один или больше CBPeripheralManager объекты и были повторно запущены системой Bluetooth для продолжения действий, связанных с теми объектами. Значение этого ключа NSArray объект, содержащий один или больше NSString объекты.

      Каждая строка в массиве представляет идентификатор восстановления для периферийного объекта менеджера. Это - та же строка, которую Вы присвоили CBPeripheralManagerOptionRestoreIdentifierKey ключ, когда Вы инициализировали периферийный объект менеджера ранее. Система предоставляет идентификаторы восстановления только периферийным менеджерам, опубликовавшим или распространившим службы.

      Доступный в iOS 7.0 и позже.

    • UIApplicationLaunchOptionsUserActivityDictionaryKey

      Присутствие этого ключа указывает, что приложение было запущено для продолжения пользовательского действия. Значение этого ключа NSDictionary объект, содержащий ключ UIApplicationLaunchOptionsUserActivityTypeKey, чье значение NSString объект, идентифицирующий тип действия.

      Доступный в iOS 8.0 и позже.

    • UIApplicationLaunchOptionsUserActivityTypeKey

      Этот ключ используется в подсловаре, который является значением UIApplicationLaunchOptionsUserActivityDictionaryKey. Значение этого ключа NSString объект, идентифицирующий тип действия.

      Доступный в iOS 8.0 и позже.