self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];
return YES;
}
Так вы зарегистрируете ваше приложение для получения пуш-уведомлений. Такие уведомления могут содержать информацию с предупреждениями, изменения номера ярлыка вашего приложения, а также звуки. Пока не будем вдаваться в эти подробности. Просто зарегистрируйте приложение для получения пуш-уведомлений, как показано ранее. Как только вы это сделаете, iOS отошлет запрос о регистрации к APNS. Перед тем как это делать, iOS попросит у пользователя разрешения зарегистрировать данное приложение для получения пуш-уведомлений. Пользовательский интерфейс, открывающийся в iOS при этом запросе, показан на рис. 15.7.
Рис. 15.7. iOS выдает пользователю запрос о разрешении на получение пуш-уведомлений
17. Теперь реализуйте метод application: didRegisterForRemoteNotificationsWithDeviceToken: делегата вашего приложения. Этот метод вызывается, когда iOS удается успешно зарегистрировать устройство в APNS и присвоить ему маркер. Этот маркер действует только для конкретного приложения, установленного именно на данном устройстве.
18. Далее реализуйте метод application: didFailToRegisterForRemoteNotificationsWithError: делегата вашего приложения. Этот метод вызывается, если iOS не удается зарегистрировать приложение для получения пуш-уведомлений. Это может произойти потому, что ваш профиль настроен неправильно или устройство не подключено к Интернету, а также по многим другим причинам. В параметре didFailToRegisterForRemoteNotificationsWithError этого метода вы получите ошибку типа NSError. Ее можно проанализировать и узнать, по какой причине возникла проблема.
Теперь вы знаете все необходимое, чтобы настроить ваше приложение на получение пуш-уведомлений.
См. также
Раздел 15.0.
15.8. Доставка пуш-уведомлений в приложение
Постановка задачи
Требуется отправлять пуш-уведомления на пользовательские устройства, которые зарегистрированы для получения таких уведомлений.
Решение
Убедитесь, что вы собрали маркеры-идентификаторы пуш-уведомлений этих приложений (см. раздел 15.7). Затем сгенерируйте SSL-сертификаты, которые будут использоваться вашими веб-сервисами для отправки пуш-уведомлений на устройства. Затем создайте простой веб-сервис для отправки пуш-уведомлений на зарегистрированные устройства.
Этот материал — продолжение раздела 15.7. Обязательно прочтите предыдущий раздел и полностью в нем разберитесь, прежде чем переходить к изучению данного раздела.
Обсуждение
Чтобы обмениваться информацией с серверами APNS, ваши веб-сервисы должны совершить акт
1. Войдите в центр разработки для iOS.
2. Перейдите в раздел Certificates, Identifiers & Profiles (Сертификаты, идентификаторы, профили), расположенный справа.
3. В разделе идентификаторов приложений (App ID) найдите идентификатор вашего приложения, для которого задано получение пуш-уведомлений, выберите этот идентификатор и нажмите кнопку Settings (Настройки), чтобы его сконфигурировать, как показано на рис. 15.8.
Рис. 15.8. Изменение настроек имеющегося идентификатора приложения
4. В разделе настроек, называемом Push Notifications (Пуш-уведомления), найдите подраздел Development SSL Certificate (SSL-сертификат для разработки) и нажмите кнопку Create Certificate (Создать сертификат) (рис. 15.9). Далее следуйте указаниям Apple по созданию сертификата. Пока мы создаем SSL-сертификат для разработки приложения, поскольку на данном этапе нас интересует исключительно разработка. Позже, когда будем готовы отправить наше приложение в App Store, просто повторите подобный процесс и создайте SSL-сертификаты для распространения (Distribution).
Рис. 15.9. Создание SSL-сертификата, используемого для операций с пуш-уведомлениями и разработки приложения
5. Как только сертификат будет готов (рис. 15.10), скачайте его на компьютер и дважды щелкните на нем кнопкой мыши, чтобы импортировать его в вашу связку ключей.
Рис. 15.10. SSL-сертификат для обмена информацией с APNS на этапе разработки приложения готов к скачиванию
6. Теперь откройте окно Keychain Access (Доступ к связке ключей) на OS X и перейдите к связке ключей Login (если эта связка ключей задана у вас по умолчанию). В разделе My Certificates (Мои сертификаты) найдите тот сертификат, который вы только что импортировали в связку ключей, и раскройте его, щелкнув на маленькой кнопке со стрелкой слева. Так вы узнаете ассоциированный с этим приложением закрытый ключ (рис. 15.11).