Похоже, вы пытаетесь использовать push-уведомления для опроса устройств iOS и возврата информации.
Push-уведомления не предоставляют механизм для выполнения кода на устройстве без взаимодействия с пользователем. Вам потребуется загрузить приложение на устройство, а пользователь должен будет щелкнуть в уведомлении для вашего приложения.
В iOS приложения обычно не запускаются, если пользователь не активно с ними взаимодействует. Есть несколько исключений (например, фоновое аудио.)
Вам необходимо запустить приложение, чтобы получить токен устройства. Вы звоните registerForRemoteNotificationTypes
. См. APNs docs для получения дополнительной информации.
Отредактировано для добавления дополнительной информации:
Похоже, протокол MDM использует push-уведомления только для того, что вы описываете. Однако об этом ничего не говорится в «Руководстве по программированию локальных и push-уведомлений» (ссылка выше).
Очевидно, Apple строго контролирует документацию по MDM (см. здесь и здесь ).
Однако я нашел эту статью от Blackhat, описывающую, как работает система.
Мое ранее высказанное мнение о том, что не следует выполнять произвольный код на устройстве без вмешательства пользователя, по-прежнему применимо. Существует конечный набор команд, которые могут быть выполнены (см. Приложение A).