Простой совет: простое пространство (или невидимый специальный символ) в вашем скрипте, прямо перед самым первым тегом <?php
, может вызвать это! Особенно, когда вы работаете в команде, а кто-то использует «слабую» IDE или перепутал файлы со странными текстовыми редакторами.
Я видел эти вещи;)
Во-первых, push-уведомления не являются «сильными»: если вы просто оставите уведомление на достаточно долгое время (например, телефон будет выключен на много дней), оно будет отброшено. Вам необходимо выполнить некоторую настраиваемую внутреннюю обработку, чтобы сохранить контент, отправленный в уведомлениях.
В протоколе UIApplicationDelegate
есть приложение : didFinishLaunchingWithOptions:
. Если ваше приложение запускается пользователем, нажав правую кнопку в предупреждении из push-уведомления, словарь launchOptions
, связанный с вызовом метода, будет содержать информацию об этом уведомлении; если ваше приложение уже запущено, вместо этого будет вызвано application: didReceiveRemoteNotification:
(также в протоколе делегата).
Итак,
Если приложение запущено, и вы реализуете application: didReceiveRemoteNotification:
, то да, вы получите полезную нагрузку. В противном случае ничего не происходит.
Если приложение не запущено в момент отправки уведомления, то пользователь нажимает на предупреждение об уведомлении и запускает ваше приложение, ваше приложение получает полезную нагрузку, если оно реализует application: didFinishLaunchingWithOptions:
. В противном случае вы ничего не получите.