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 показывает, как приложение перемещается от одного состояния до другого.
Состояние |
Описание |
|---|---|
Не выполнение |
Приложение не было запущено или было завершено, или пользователем или системой. |
Неактивный |
Приложение работает на переднем плане, но не получает события. (Это может выполнять другой код все же.) Приложение обычно остается в этом состоянии только кратко, поскольку это переходит к различному состоянию. После ввода этого состояния приложение должно поместить себя в состояние покоя с ожиданием перемещения в фоновое или активное состояние вскоре. |
Активный |
Приложение работает на переднем плане и получает события. Это - нормальный режим для приоритетных приложений. Приложение в активном состоянии не имеет никаких специальных ограничений, установленных для него. Это - приоритетное приложение и должно быть быстро реагирующим пользователю. |
Фон |
Приложение выполняет код, но не видимо на экране. Когда пользователь выходит из приложения, система перемещает приложение в фоновое состояние кратко прежде, чем приостановить его. В других случаях система может запустить приложение в фон (или разбудить приостановленное приложение), и дайте ему время для обработки определенных задач. Например, система может разбудить приложение так, чтобы она могла обработать фоновые загрузки, определенные типы событий расположения, удаленных уведомлений и других типов событий. Приложение в фоновом режиме утверждает, должен выполнить как можно меньше работы. Приложения, запрашивающие время обработать определенные типы событий, должны обработать те события и управление возвратом назад к системе как можно быстрее. |
Приостановленный |
Приложение находится в памяти, но не выполняет код. Система приостанавливает приложения, которые являются в фоновом режиме и не имеют никаких незаконченных задач завершиться. Система может произвести чистку приостановленных приложений в любое время, не будя их для создания места для других приложений. |
Когда изменения состояния происходят, следующие методы вызывают. Для получения информации о чем сделать в ответ на каждый переход, см. описания метода:
Время запуска:
Переход к переднему плану —
Переход к фону:
Переход к неактивному состоянию
applicationWillResignActive:(Вызванный при отъезде приоритетного состояния.)applicationWillEnterForeground:(Вызванный при переходе из фонового состояния.)
Завершение:
applicationWillTerminate:(Вызванный только, когда работает приложение. Если приложение приостановлено, этот метод не вызывают.)
Определенные задачи, которые Вы выполняете во время данного изменения состояния, зависят от Вашего приложения и его возможностей. Для подсказок и руководства о том, что сделать во время изменений состояния, см. Руководство по программированию Приложения для 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, willFinishLaunchingWithOptionslaunchOptions: [NSObject : AnyObject]?) -> BoolObjective C
- (BOOL)application:(UIApplication *)applicationwillFinishLaunchingWithOptions:(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, didFinishLaunchingWithOptionslaunchOptions: [NSObject : AnyObject]?) -> BoolObjective C
- (BOOL)application:(UIApplication *)applicationdidFinishLaunchingWithOptions:(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, performFetchWithCompletionHandlercompletionHandler: (UIBackgroundFetchResult) -> Void)Objective C
- (void)application:(UIApplication *)applicationperformFetchWithCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandlerПараметры
applicationОдноэлементный объект приложения.
completionHandlerБлок для выполнения, когда работа загрузки завершена. При вызове этого блока передайте в значении результата выборки, лучше всего описывающем результаты работы загрузки. Вы должны вызвать этот обработчик и должны сделать так как можно скорее. Для списка возможных значений посмотрите
UIBackgroundFetchResultввести.Обсуждение
Реализуйте этот метод если Ваши поддержки приложений
fetchфоновый режим. Когда возможность возникает для загрузки данных, системные вызовы этот метод, чтобы дать приложению шанс загрузить любые данные, этому нужно. Ваша реализация этого метода должна загрузить данные, подготовить те данные к использованию и призвать блокcompletionHandlerпараметр.Когда этот метод вызывают, Ваше приложение имеет до 30 секунд тактового стеной времени, чтобы выполнить работу загрузки и вызвать указанный блок обработчика завершения. На практике Ваше приложение должно вызвать блок обработчика завершения как можно скорее после загрузки необходимых данных. Если Вы не вызываете обработчик завершения своевременно, Ваше приложение завершается. Что еще более важно система использует прошедшее время для вычисления использования питания и затрат данных для фоновых загрузок приложения. Если Ваше приложение занимает много времени для вызова обработчика завершения, ему можно дать меньше будущих возможностей выбрать данные в будущем. Для получения дополнительной информации о поддержке фоновых операций выборки, посмотрите состояния Приложения и Многозадачность в Руководстве по программированию Приложения для iOS.
Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 7.0 и позже.
-
приложение (_: handleEventsForBackgroundURLSession:completionHandler:) - application:handleEventsForBackgroundURLSession:completionHandler:Говорит делегату, что события, связанные с сеансом URL, ожидают, чтобы быть обработанными.
Объявление
Swift
optional func application(_application: UIApplication, handleEventsForBackgroundURLSessionidentifier: String, completionHandlercompletionHandler: () -> Void)Objective C
- (void)application:(UIApplication *)applicationhandleEventsForBackgroundURLSession:(NSString *)identifiercompletionHandler:(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 и позже.
-
приложение (_: didRegisterForRemoteNotificationsWithDeviceToken:) - application:didRegisterForRemoteNotificationsWithDeviceToken:Говорит делегату, что приложение успешно зарегистрировалось в Apple Push Notification service (APNs).
Объявление
Swift
optional func application(_application: UIApplication, didRegisterForRemoteNotificationsWithDeviceTokendeviceToken: NSData)Objective C
- (void)application:(UIApplication *)applicationdidRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceTokenПараметры
applicationОбъект приложения, инициировавший процесс регистрации удаленного уведомления.
deviceTokenМаркер, идентифицирующий устройство для APNs. Маркер является непрозрачным типом данных, потому что это - форма, которую провайдер должен представить серверам APNs, когда это отправляет уведомление устройству. Серверы APNs требуют двоичного формата по причинам производительности.
Размер маркера устройства составляет 32 байта.
Обратите внимание на то, что маркер устройства отличается от
uniqueIdentifierсвойствоUIDeviceкогда устройство вытерто, потому что, для безопасности и причин конфиденциальности, это должно измениться.Обсуждение
После вызова
registerForRemoteNotificationsметодUIApplicationкогда регистрация устройств завершается успешно, объект, приложение вызывает этот метод. В Вашей реализации этого метода соединитесь со своим сервером уведомления нажатия и дайте маркер ему. APNs продвигает уведомления только устройству, представленному маркером.Приложение могло бы вызвать этот метод при других редких обстоятельствах, такой как тогда, когда пользователь запускает приложение, восстановив устройство от данных, которые не являются данными резервного копирования устройства. В этом исключительном случае приложение не будет знать маркер нового устройства, пока пользователь не запустит его.
Для получения дополнительной информации о том, как реализовать удаленные уведомления в Вашем приложении, см. Локальное и Удаленное Руководство по программированию Уведомления.
Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 3.0 и позже.
-
приложение (_: didFailToRegisterForRemoteNotificationsWithError:) - application:didFailToRegisterForRemoteNotificationsWithError:Отправленный делегату, когда служба Apple Push Notification не может успешно завершить процесс регистрации.
Объявление
Swift
optional func application(_application: UIApplication, didFailToRegisterForRemoteNotificationsWithErrorerror: NSError)Objective C
- (void)application:(UIApplication *)applicationdidFailToRegisterForRemoteNotificationsWithError:(NSError *)errorПараметры
applicationОбъект приложения, инициировавший процесс регистрации удаленного уведомления.
errorNSErrorобъект, инкапсулирующий информацию, почему не успешно выполнялась регистрация. Приложение может принять решение вывести на экран эту информацию пользователю.Обсуждение
После вызова
registerForRemoteNotificationsметодUIApplicationкогда существует ошибка в процессе регистрации, объект, приложение вызывает этот метод.Для получения дополнительной информации о том, как реализовать удаленные уведомления в Вашем приложении, см. Локальное и Удаленное Руководство по программированию Уведомления.
Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 3.0 и позже.
-
приложение (_: didReceiveRemoteNotification:fetchCompletionHandler:) - application:didReceiveRemoteNotification:fetchCompletionHandler:Говорит приложению, что удаленное уведомление поступило, который указывает, что существуют данные, которые будут выбраны.
Объявление
Swift
optional func application(_application: UIApplication, didReceiveRemoteNotificationuserInfo: [NSObject : AnyObject], fetchCompletionHandlerhandler: (UIBackgroundFetchResult) -> Void)Objective C
- (void)application:(UIApplication *)applicationdidReceiveRemoteNotification:(NSDictionary *)userInfofetchCompletionHandler:(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 и позже.
-
приложение (_: handleActionWithIdentifier:forRemoteNotification:completionHandler:) - application:handleActionWithIdentifier:forRemoteNotification:completionHandler:Говорит делегату приложения выполнять пользовательское действие, указанное удаленным уведомлением.
Объявление
Swift
optional func application(_application: UIApplication, handleActionWithIdentifieridentifier: String?, forRemoteNotificationuserInfo: [NSObject : AnyObject], completionHandlercompletionHandler: () -> Void)Objective C
- (void)application:(UIApplication *)applicationhandleActionWithIdentifier:(NSString *)identifierforRemoteNotification:(NSDictionary *)userInfocompletionHandler:(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, didReceiveRemoteNotificationuserInfo: [NSObject : AnyObject])Objective C
- (void)application:(UIApplication *)applicationdidReceiveRemoteNotification:(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— Число, указывающее количество элементов данных для загрузки с провайдера. Это число должно быть выведено на экран на значке приложения. Отсутствие abadgeсвойство указывает, что должно быть удалено любое число в настоящее время применение идентификационных знаков значок.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, didReceiveLocalNotificationnotification: UILocalNotification)Objective C
- (void)application:(UIApplication *)applicationdidReceiveLocalNotification:(UILocalNotification *)notificationПараметры
applicationОбъект приложения, получивший локальное уведомление.
notificationЛокальное уведомление, инкапсулирующее подробные данные об уведомлении, потенциально включая пользовательские данные.
Обсуждение
Локальные уведомления подобны удаленным уведомлениям, но отличаются, в котором они запланированы, выведены на экран и получены полностью на том же устройстве. Приложение может создать и запланировать локальное уведомление, и операционная система тогда поставляет его в запланированной дате и времени. Если приложение не активно на переднем плане, когда уведомление стреляет, система использует информацию в
UILocalNotificationобъект определить, должно ли это вывести на экран предупреждение, значок значок приложения, или играть звук. Если приложение работает на переднем плане, системные вызовы этот метод непосредственно, не предупреждая пользователя всегда.Вы могли бы реализовать этот метод в своем делегате, если Вы хотите быть уведомленными, что произошло локальное уведомление. Например, календарное приложение могло бы использовать локальные уведомления для предупреждения пользователя к предстоящим событиям.
Если пользователь принимает решение открыть приложение, когда локальное уведомление происходит, словарь опций запуска передал
application:willFinishLaunchingWithOptions:иapplication:didFinishLaunchingWithOptions:методы содержатUIApplicationLaunchOptionsLocalNotificationKeyключ. Этот метод вызывают в некоторый момент после Вашего делегатаapplication:didFinishLaunchingWithOptions:метод.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 4.0 и позже.
-
приложение (_: handleActionWithIdentifier:forLocalNotification:completionHandler:) - application:handleActionWithIdentifier:forLocalNotification:completionHandler:Говорит делегату, что пользователь выбрал пользовательское действие из предупредительной панели локального уведомления.
Объявление
Swift
optional func application(_application: UIApplication, handleActionWithIdentifieridentifier: String?, forLocalNotificationnotification: UILocalNotification, completionHandlercompletionHandler: () -> Void)Objective C
- (void)application:(UIApplication *)applicationhandleActionWithIdentifier:(NSString *)identifierforLocalNotification:(UILocalNotification *)notificationcompletionHandler:(void (^)(void))completionHandlerПараметры
applicationОбъект приложения, получивший локальное уведомление.
identifierИдентификатор связался с пользовательским действием. Эта строка соответствует идентификатору от
UILocalNotificationActionобъект, использовавшийся для конфигурирования действия в локальном уведомлении.notificationИнициированный локальный объект уведомления.
completionHandlerБлок для вызова, когда Вы закончены, выполнив действие.
Обсуждение
Когда пользователь касается кнопки действий на предупреждении, выведенном на экран в ответ на локальное уведомление, приложение вызывает этот метод. Локальные уведомления, включающие зарегистрированное название категории в их
categoryкнопки отображения свойства для действий в той категории. Если пользователь касается одной из тех кнопок, система будит приложение (запускающий ее в случае необходимости) и вызывает этот метод в фоновом режиме. Ваша реализация этого метода должна выполнить действие, связанное с указаннымidentifierи выполните блок вcompletionHandlerпараметр, как только Вы сделаны. Отказ выполнить блок обработчика завершения в конце Вашей реализации заставит Ваше приложение быть завершенным.Для конфигурирования действий для данной категории создайте a
UIUserNotificationActionSettingsобъект и регистр это с приложением, когда Вы вызываетеregisterUserNotificationSettings:метод.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 8.0 и позже.
-
приложение (_: didRegisterUserNotificationSettings:) - application:didRegisterUserNotificationSettings:Говорит делегату, какие типы уведомлений могут использоваться для привлечения внимания пользователя.
Объявление
Swift
optional func application(_application: UIApplication, didRegisterUserNotificationSettingsnotificationSettings: UIUserNotificationSettings)Objective C
- (void)application:(UIApplication *)applicationdidRegisterUserNotificationSettings:(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 и позже.
См. также
didReceiveMemoryWarning(UIViewController)UIApplicationDidReceiveMemoryWarningNotification -
Когда существует существенное изменение во время, говорит делегату.
Объявление
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 и позже.
-
приложение (_: handleWatchKitExtensionRequest:reply:) - application:handleWatchKitExtensionRequest:reply:Просит делегат реагировать на запрос из парного приложения WatchKit.
Объявление
Swift
optional func application(_application: UIApplication, handleWatchKitExtensionRequestuserInfo: [NSObject : AnyObject]?, replyreply: (([NSObject : AnyObject]!) -> Void)!)Objective C
- (void)application:(UIApplication *)applicationhandleWatchKitExtensionRequest:(NSDictionary *)userInforeply:(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, shouldSaveApplicationStatecoder: NSCoder) -> BoolObjective C
- (BOOL)application:(UIApplication *)applicationshouldSaveApplicationState:(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, shouldRestoreApplicationStatecoder: NSCoder) -> BoolObjective C
- (BOOL)application:(UIApplication *)applicationshouldRestoreApplicationState:(NSCoder *)coderПараметры
applicationОдноэлементный объект приложения.
coderВключенный archiver, содержащий ранее сохраненную информацию приложения состояния.
Возвращаемое значение
YEStrueесли состояние приложения должно быть восстановлено илиNOfalseесли это не должно.Обсуждение
Приложения должны реализовать этот метод и
application:shouldSaveApplicationState:метод для сохранения состояния для появления. Кроме того, Ваша реализация этого метода должна возвратитьсяYEStrueкаждый раз UIKit пытается восстановить состояние Вашего приложения. Можно использовать информацию в предоставленном объекте кодера решить, продолжить ли с восстановлением состояния. Например, Вы могли бы возвратитьсяNOfalseесли данные в кодере от различной версии Вашего приложения и не могут быть эффективно восстановлены текущей версии.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 6.0 и позже.
-
приложение (_: viewControllerWithRestorationIdentifierPath:coder:) - application:viewControllerWithRestorationIdentifierPath:coder:Просит делегат обеспечивать указанный контроллер представления.
Объявление
Swift
optional func application(_application: UIApplication, viewControllerWithRestorationIdentifierPathidentifierComponents: [AnyObject], codercoder: NSCoder) -> UIViewController?Objective C
- (UIViewController *)application:(UIApplication *)applicationviewControllerWithRestorationIdentifierPath:(NSArray *)identifierComponentscoder:(NSCoder *)coderПараметры
applicationОдноэлементный объект приложения.
identifierComponentsМассив
NSStringобъекты, соответствующие идентификаторам восстановления желаемого контроллера представления и всем его наследователям в иерархии контроллера представления. Последнее значение в массиве является идентификатором восстановления желаемого контроллера представления. Более ранние записи представляют идентификаторы восстановления его наследователей.coderВключенный archiver, содержащий сохраненную информацию приложения состояния.
Возвращаемое значение
Контроллер представления возражает для использования или
nilесли делегат приложения не предоставляет этот контроллер представления. Если возвращается этот методnil, UIKit пытается найти контроллер представления неявно с помощью доступного тракта восстановления и информации о раскадровке.Обсуждение
Во время восстановления состояния, когда UIKit встречается с контроллером представления без класса восстановления, он вызывает этот метод для выяснения соответствующий объект контроллера представления. Ваша реализация этого метода должна создать (или найти), соответствующий объект контроллера представления, и возвратите его. Если Ваш делегат приложения не обеспечивает контроллер представления, возвратиться
nil.Вы используете строки в
identifierComponentsпараметр для идентификации контроллера представления, который требуют. Контроллеры представления в Вашем приложении формируют иерархию. В корне этой иерархии корневой контроллер представления окна, который сам может представить или встроить другие контроллеры представления. Те представленные или встроенные контроллеры представления могут самостоятельно представить и встроить другие контроллеры представления. Результатом является иерархия отношений контроллера представления с каждым представленным или встроенным контроллером представления, становящимся дочерним элементом контроллера представления, представившего или встроившего его. Строки вidentifierComponentsмассив идентифицирует путь через эту иерархию с корневого контроллера представления на желаемый контроллер представления.Не всегда необходимо создать новый объект контроллера представления в Вашей реализации этого метода. Можно также возвратить существующий объект контроллера представления, создававшийся другим, означает. Например, Вы всегда возвращали бы существующие контроллеры представления, загруженные из основного файла раскадровки Вашего приложения, а не создавали бы новые объекты.
Ваша реализация этого метода может использовать любые данные в предоставленном
coderпомогать в процессе восстановления. Однако Вы обычно не должны восстанавливать все состояние контроллера представления в этой точке. Во время более поздней передачи просмотрите контроллеры, определяющие adecodeRestorableStateWithCoder:методу обычно дают, шанс восстановить их состояние формируют тот же объект кодера. Точно так же у делегата приложения самостоятельно есть aapplication:didDecodeRestorableStateWithCoder:метод, который можно использовать для получения информации о состоянии уровня соответствующего приложения.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 6.0 и позже.
-
приложение (_: willEncodeRestorableStateWithCoder:) - application:willEncodeRestorableStateWithCoder:Говорит Вашему делегату сохранять любую высокоуровневую информацию состояния в начале процесса сохранения состояния.
Объявление
Swift
optional func application(_application: UIApplication, willEncodeRestorableStateWithCodercoder: NSCoder)Objective C
- (void)application:(UIApplication *)applicationwillEncodeRestorableStateWithCoder:(NSCoder *)coderПараметры
applicationОдноэлементный объект приложения.
coderВключенный archiver, в котором можно записать любую информацию состояния.
Обсуждение
Системные вызовы сохранения состояния этот метод в начале процесса сохранения. Это - Ваша возможность добавить любую информацию об уровне приложения для утверждения информации. Например, Вы могли бы использовать этот метод для записи информации о версии или высокоуровневой конфигурации приложения.
Ваша реализация этого метода может закодировать восстановимое представление и просмотреть объекты контроллера, что это должно сослаться. Кодирование восстановимого контроллера представления или представления пишет что идентификатор восстановления объекта в кодер. (Что идентификатор используется во время процесса декодирования для определения местоположения новой версии объекта.), Если контроллер представления или представления определяет a
encodeRestorableStateWithCoder:метод, тот метод также вызывают в некоторый момент так, чтобы объект мог закодировать свое собственное состояние.Кроме представлений и контроллеров представления, другие объекты следуют за нормальным процессом сериализации и должны принять
NSCodingпротокол, прежде чем они смогут быть закодированы. Кодирование таких объектов встраивает содержание объекта в архив непосредственно. Во время процесса декодирования новый объект создается и инициализируется с данными от архива.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 6.0 и позже.
-
Говорит Вашему делегату восстанавливать любую высокоуровневую информацию состояния как часть процесса восстановления состояния.
Объявление
Swift
optional func application(_application: UIApplication, didDecodeRestorableStateWithCodercoder: NSCoder)Objective C
- (void)application:(UIApplication *)applicationdidDecodeRestorableStateWithCoder:(NSCoder *)coderПараметры
applicationОдноэлементный объект приложения.
coderВключенный archiver, содержащий ранее сохраненную информацию приложения состояния.
Обсуждение
Система резервирования состояния вызывает этот метод как последний шаг в процессе восстановления состояния. К тому времени, когда этот метод вызывают, все другие восстановимые объекты будут восстановлены и отложены в их предыдущее состояние. Можно использовать этот метод для чтения любых высокоуровневых данных приложения, которые Вы сохранили в
application:willEncodeRestorableStateWithCoder:метод и применяет его к Вашему приложению.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 6.0 и позже.
-
приложение (_: openURL:sourceApplication:annotation:) - application:openURL:sourceApplication:annotation:Просит делегат открывать ресурс, идентифицированный URL.
Объявление
Swift
optional func application(_application: UIApplication, openURLurl: NSURL, sourceApplicationsourceApplication: String?, annotationannotation: AnyObject?) -> BoolObjective C
- (BOOL)application:(UIApplication *)applicationopenURL:(NSURL *)urlsourceApplication:(NSString *)sourceApplicationannotation:(id)annotationПараметры
applicationОдноэлементный объект приложения.
urlРесурс URL для открытия. Этот ресурс может быть сетевым ресурсом или файлом. Для получения информации о зарегистрированных Apple схемах URL посмотрите Apple Ссылка Схемы URL.
sourceApplicationID пакета приложения, запрашивающего Ваше приложение открыть 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 и позже.
См. также
openURL:(UIApplication)– application:didFinishLaunchingWithOptions:
-
Говорит делегату, что пользователь хочет продолжать действие, данные которого еще не могли бы быть доступными.
Объявление
Swift
optional func application(_application: UIApplication, willContinueUserActivityWithTypeuserActivityType: String) -> BoolObjective C
- (BOOL)application:(UIApplication *)applicationwillContinueUserActivityWithType:(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 и позже.
-
приложение (_: continueUserActivity:restorationHandler:) - application:continueUserActivity:restorationHandler:Говорит делегату, что данные для продолжения действия доступны.
Объявление
Swift
optional func application(_application: UIApplication, continueUserActivityuserActivity: NSUserActivity, restorationHandlerrestorationHandler: ([AnyObject]!) -> Void) -> BoolObjective C
- (BOOL)application:(UIApplication *)applicationcontinueUserActivity:(NSUserActivity *)userActivityrestorationHandler:(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, didUpdateUserActivityuserActivity: NSUserActivity)Objective C
- (void)application:(UIApplication *)applicationdidUpdateUserActivity:(NSUserActivity *)userActivityПараметры
applicationОбъект общего приложения.
userActivityОбъект действия, содержащий данные, связанные с задачей пользователь, выполнял.
Обсуждение
Когда пользовательское действие, которым управляет UIKit, было обновлено, этот метод вызывают на основном потоке. Можно реализовать этот метод как заключительную возможность добавить данные к пользовательскому объекту действия.
Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 8.0 и позже.
-
приложение (_: didFailToContinueUserActivityWithType:error:) - application:didFailToContinueUserActivityWithType:error:Говорит делегату, что не могло продолжаться действие.
Объявление
Swift
optional func application(_application: UIApplication, didFailToContinueUserActivityWithTypeuserActivityType: String, errorerror: NSError)Objective C
- (void)application:(UIApplication *)applicationdidFailToContinueUserActivityWithType:(NSString *)userActivityTypeerror:(NSError *)errorПараметры
applicationОбъект общего приложения.
userActivityTypeОпробованный тип действия.
errorОшибочный объект указание причины отказа.
Обсуждение
Используйте этот метод, чтобы позволить пользователю знать, что не могло продолжаться указанное действие. Если Вы не реализуете этот метод, UIKit выводит на экран ошибку пользователю с надлежащим сообщением о причине отказа.
Этот метод не вызывают если также
application:willFinishLaunchingWithOptions:илиapplication:didFinishLaunchingWithOptions:возвратыNOfalse.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 8.0 и позже.
-
приложение (_: shouldAllowExtensionPointIdentifier:) - application:shouldAllowExtensionPointIdentifier:ТребуемыйПросит делегат давать разрешение использовать расширения приложения, основывающиеся на указанном идентификаторе точки расширения. (требуемый)
Объявление
Swift
optional func application(_application: UIApplication, shouldAllowExtensionPointIdentifierextensionPointIdentifier: String) -> BoolObjective C
- (BOOL)application:(UIApplication *)applicationshouldAllowExtensionPointIdentifier:(NSString *)extensionPointIdentifierПараметры
applicationОбъект общего приложения.
extensionPointIdentifierПостоянная идентификация точки расширения.
Возвращаемое значение
NOfalseзапрещать использование указанного типа расширения приложения, илиYEStrueпозволить использование типа.Обсуждение
Можно реализовать этот метод для отклонения указанного типа расширения приложения, на основе его идентификатора точки расширения, от использования в приложении. Посмотрите Константы Идентификатора Точки расширения в Ссылке класса UIApplication.
Если Вы не реализуете этот метод, все типы расширения приложения доступны для использования в Вашем приложении.
В iOS 8.0 единственный тип расширения приложения, которое можно отклонить, является пользовательской клавиатурой. Для получения информации о расширениях приложения см. Руководство по программированию Расширения Приложения.
Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 8.0 и позже.
-
приложение (_: willChangeStatusBarOrientation:duration:) - application:willChangeStatusBarOrientation:duration:Когда интерфейсная ориентация строки состояния собирается измениться, говорит делегату.
Объявление
Swift
optional func application(_application: UIApplication, willChangeStatusBarOrientationnewStatusBarOrientation: UIInterfaceOrientation, durationduration: NSTimeInterval)Objective C
- (void)application:(UIApplication *)applicationwillChangeStatusBarOrientation:(UIInterfaceOrientation)newStatusBarOrientationduration:(NSTimeInterval)durationПараметры
applicationОдноэлементный объект приложения.
newStatusBarOrientationКонстанта, указывающая новую ориентацию пользовательского интерфейса приложения; посмотрите Изменения состояния Приложения мониторинга для подробных данных.
durationПродолжительность анимации к новой ориентации, в секундах.
Обсуждение
Делегат обычно реализует этот метод для подготовки его окон и представлений для новой ориентации. Делегат может получить текущую ориентацию устройства от совместно используемого
UIDeviceобъект.После вызова этого метода приложение также отправляет a
UIApplicationWillChangeStatusBarOrientationNotificationуведомление, чтобы дать заинтересованным объектам шанс реагировать на изменение.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 2.0 и позже.
-
Когда интерфейсная ориентация строки состояния изменилась, говорит делегату.
Объявление
Swift
optional func application(_application: UIApplication, didChangeStatusBarOrientationoldStatusBarOrientation: UIInterfaceOrientation)Objective C
- (void)application:(UIApplication *)applicationdidChangeStatusBarOrientation:(UIInterfaceOrientation)oldStatusBarOrientationПараметры
applicationОдноэлементный объект приложения.
oldStatusBarOrientationКонстанта, указывающая предыдущую ориентацию пользовательского интерфейса приложения; посмотрите Изменения состояния Приложения мониторинга для подробных данных.
Обсуждение
Делегат может получить текущую ориентацию устройства от совместно используемого
UIDeviceобъект.После вызова этого метода приложение также отправляет a
UIApplicationDidChangeStatusBarOrientationNotificationуведомление, чтобы дать заинтересованным объектам шанс реагировать на изменение.Оператор импорта
Objective C
@import UIKit;Swift
import UIKitДоступность
Доступный в iOS 2.0 и позже.
-
Когда кадр строки состояния собирается измениться, говорит делегату.
Объявление
Swift
optional func application(_application: UIApplication, willChangeStatusBarFramenewStatusBarFrame: CGRect)Objective C
- (void)application:(UIApplication *)applicationwillChangeStatusBarFrame:(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, didChangeStatusBarFrameoldStatusBarFrame: CGRect)Objective C
- (void)application:(UIApplication *)applicationdidChangeStatusBarFrame:(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 и позже.
-
приложение (_: supportedInterfaceOrientationsForWindow:) - application:supportedInterfaceOrientationsForWindow:Просит делегат к интерфейсным ориентациям использовать для контроллеров представления в указанном окне.
Объявление
Swift
optional func application(_application: UIApplication, supportedInterfaceOrientationsForWindowwindow: UIWindow?) -> IntObjective C
- (NSUInteger)application:(UIApplication *)applicationsupportedInterfaceOrientationsForWindow:(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, handleOpenURLurl: NSURL) -> BoolObjective C
- (BOOL)application:(UIApplication *)applicationhandleOpenURL:(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 и позже.
См. также
openURL:(UIApplication)– application:willFinishLaunchingWithOptions:– application:didFinishLaunchingWithOptions:
-
Ключи раньше получали доступ к значениям в словаре опций запуска, переданном
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: StringObjective 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объект, содержащий булево значение. Необходимо использовать присутствие этого ключа как сигнал создать aCLLocationManagerвозразите и запустите службы определения местоположения снова. Данные расположения поставлены только менеджеру расположения делегата и не использующий этот ключ.Доступный в 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 и позже.
-
