Добавить объявление

Тестируем пуш-уведомления на iOS-симуляторе

Здравствуйте, друзья! Сегодня мы разберем как тестировать пуш-уведомления на симуляторе без заморочек с сервером и реальными устройствами. Это особенно актуально когда нужно быстро проверить внешний вид или логику обработки уведомлений.

Подготовка: запрашиваем разрешения:


Первым делом нужно запросить разрешение на показ уведомлений. Без этого даже идеально настроенный пуш не сработает:

import UserNotifications

UNUserNotificationCenter.current().requestAuthorization(
options: [.alert, .sound, .badge]
) { granted, error in
print("Разрешение получено: \(granted)")
}

Два способа отправки пушей:



Способ 1 - Drag & Drop (самый простой):

Создаем JSON-файл notification.apns с содержимым уведомления:

{
"aps": {
"alert": {
"title": "Новое сообщение",
"body": "Вам пришло новое сообщение в чате"
},
"badge": 1,
"sound": "default"
},
"Simulator Target Bundle": "com.yourapp.bundleid"
}

Просто перетаскиваем файл на симулятор, уведомление появится мгновенно!


Способ 2 - Через терминал (для автоматизации):

Узнаем ID симулятора:

xcrun simctl list

Отправляем пуш:

xcrun simctl push booted com.yourapp.bundleid notification.apns

Ключевое слово booted автоматически определяет запущенный симулятор.

Что еще можно протестировать:


На симуляторе отлично работают:

  • Rich-уведомления с картинками.

  • Кастомные звуки.

  • Action-кнопки.

  • Deep links.

  • Badge-иконки.

  • Частые ошибки:


    • Не указан Simulator Target Bundle: симулятор не поймет, какому приложению предназначен пуш.

    • Нет разрешений: забыли вызвать requestAuthorization.

    • Неверный bundle identifier: проверьте точное написание в проекте.

    Вывод:


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

    Стоит отметить, что на iOS 26 симуляторах иногда наблюдаются проблемы, при тестировании пуш-уведомлений. Если у вас возникли проблемы, попробуйте протестировать на предыдущих версиях iOS.
    24.10.2025 7 482