Добавление push-уведомлений в iOS-приложение с помощью Swift и Twilio Notify

Автор: | 03.08.2026

Notify упрощает отправку кроссплатформенных уведомлений вашим пользователям. От push-уведомлений в приложениях на Android и iOS до SMS-фоллбеков — Notify берет на себя всю сложную работу.

Давайте создадим iOS-приложение, которое сможет получать и обрабатывать push-уведомления, отправляемые через Apple Push Notification Service (APNS) и Twilio Notify.

Для выполнения всех шагов этого руководства вам понадобятся:

— Учетная запись Apple Developer

— Xcode версии 7.3 или новее

— Установленный Node.js

— Бесплатная учетная запись Twilio

— Доступ к Notify — запросите ранний доступ здесь

— Устройство iOS — push-уведомления не работают в симуляторе

Чтобы отправлять push-уведомления, нам нужно:

— Создать учетные данные Twilio и профиль подготовки для вашей учетной записи Apple Developer

— Настроить сервер Node.js для аутентификации нашего iOS-приложения

— Создать привязку (Binding) для Twilio, чтобы отправлять уведомления на ваше устройство

— Написать код для регистрации устройства в APNS

— Написать код для получения уведомлений от APNS

— Наслаждаться результатом — работающим приложением, которое можно модифицировать под свои нужды

Мы будем использовать iOS Quickstart для Twilio Notify, который использует Node.js на стороне сервера для аутентификации iOS-приложения.

Начните с клонирования этого репозитория для Node-сервера в терминале:

Чтобы отправлять уведомления на iOS, убедитесь, что ваши учетные данные для Apple Push настроены в Twilio Notifications.

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

Убедитесь, что установлен флажок «Использовать эту учетную запись для отправки в песочницу APN».

Нам понадобится SID экземпляра службы Twilio для настройки Node-сервера. Перейдите в раздел Services, нажмите Create Service, и в поле APN Credential SID выберите только что созданные учетные данные для push-уведомлений и нажмите Save.

Затем возьмите свой `Account SID`

и `Auth Token`

из консоли Twilio.

Откройте `config.json`

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

— TWILIO_ACCOUNT_SID

— TWILIO_AUTH_TOKEN

— TWILIO_CREDENTIAL_SID — это поле можно оставить пустым, оно есть в конфигурационном файле.

— TWILIO_NOTIFICATION_SERVICE_SID

Теперь запустите Node-сервер, введя следующую команду в терминале в директории Node Quickstart:

Теперь мы можем перейти к настройке нашего iOS-приложения. У меня уже есть базовый проект, который вы можете использовать для начала работы с полноценным storyboard.

Начните с клонирования этого репозитория:

Затем откройте проект в Xcode:

Чтобы push-уведомления работали, убедитесь, что идентификатор пакета в Xcode совпадает с профилем подготовки, созданным в вашей учетной записи Apple Developer. Я использовал имя `NotifyQuickstart`,

но вы можете использовать любое.

Нам нужна функция, которая будет отправлять запросы на Node.js сервер для регистрации устройства. «Привязка» (Binding) представляет собой уникальное устройство, которое может получать уведомления.

В файле `ViewController.swift`

замените пустую функцию `registerDevice(identity: String, deviceToken: String)`

следующим кодом:

В этом коде мы создали NSURLSession, который отправит HTTP-запрос на наш Node-сервер для регистрации устройства.

Теперь нужно вызвать эту функцию при нажатии на кнопку регистрации. Измените функцию `didTapRegister(sender: UIButton)`

следующим образом:

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

Перед запуском приложения нам понадобится код для регистрации устройства в APNS и для получения уведомлений.

Код для получения уведомлений в iOS-приложении находится в файле `AppDelegate.swift`.

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

Откройте `AppDelegate.swift`

и замените пустую функцию `application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?)`

следующим кодом:

Это заставит iOS запросить разрешение на получение push-уведомлений с помощью всплывающего окна при первом запуске.

Если вы хотите получить доступ к уведомлению, оно придет в формате JSON и содержит текст сообщения в виде строки в функции `didReceiveRemoteNotification`.

В файле `AppDelegate.swift`

замените функцию `application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject])` следующим кодом, чтобы завершить настройку:

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

Push-уведомления не работают в симуляторе, поэтому нам нужно запустить приложение на реальном устройстве. Это означает, что Node-сервер будет недоступен для нашего iOS-приложения, так как он сейчас работает на localhost.

Мы будем использовать ngrok, чтобы сделать Node-сервер доступным за пределами нашей среды разработки, чтобы мобильное приложение могло его видеть.

После установки ngrok в новом окне терминала выполните следующую команду и запишите сгенерированный URL для переадресации.

Теперь откройте `ViewController.swift`

и для переменной `serverURL` замените значение-заполнитель на ваш URL ngrok. Убедитесь, что в конце URL осталось «/register», так как это будет маршрут на Node-сервере, на который наше iOS-приложение будет отправлять запросы.

Запустите приложение на вашем устройстве, и вы получите запрос на разрешение получения уведомлений. Обязательно разрешите push-уведомления, когда появится это сообщение. Если вы пропустили это уведомление, вы можете зайти в настройки, выбрать «Уведомления» и найти приложение `NotifySwiftQuickstart`, чтобы разрешить уведомления.

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

Вернитесь в директорию Node Quickstart в терминале, чтобы отправить уведомление в приложение. Код для этого приложения находится в файле `notify.js`. Чтобы отправить уведомление на ваше iOS-приложение, выполните этот файл, используя идентификатор, который вы ввели в приложении Node:

Вы можете увидеть это в действии здесь. Я даже заблокировал свой телефон перед отправкой уведомления.

Push-уведомления полезны в играх, социальных сетях и других приложениях, чтобы уведомлять пользователей о появлении новой информации, и теперь вы готовы отправлять их с помощью Twilio Notify в своих iOS-приложениях.

Давайте немного отпразднуем:

Если вы больше поклонник Android, ознакомьтесь с этой статьей моего друга Маркоса о push-уведомлениях для Android.

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

— Email: sagnew@twilio.com

— Twitter: @Sagnewshreds

— Github: Sagnew

— Twitch (стриминг живого кода): Sagnewshreds