Здравствуйте, друзья! Сегодня мы разберем как тестировать пуш-уведомления на симуляторе без заморочек с сервером и реальными устройствами. Это особенно актуально когда нужно быстро проверить внешний вид или логику обработки уведомлений.
Подготовка: запрашиваем разрешения.
Первым делом нужно запросить разрешение на показ уведомлений. Без этого даже идеально настроенный пуш не сработает:
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.
➡️ Подписаться на канал
Мобильный трудоголик