iPhone не получает push-уведомления - PullRequest
0 голосов
/ 01 февраля 2012

Прошла 1 неделя, когда я столкнулся с этой проблемой.Я пытаюсь заставить службу push-уведомлений работать в моем приложении тремя различными способами.Вот шаги, которые я выполнил (я полагаю, что регистрация для учетной записи разработчика, создание идентификатора приложения и создание push-сертификата завершены):

Получение токена устройства.

  • Приложение iPhone PushMeBaby:

Вставьте aps_developer_identity.cer в приложение PushMeBaby в разделе Ресурсы.

Скопируйте и вставьте токен устройства с пробелами (также пробовал без пробелов) в self.deviceToken

Копировать вставьтеaps_developer_identity into self.certificate

При запуске приложения меня просят разрешить использование закрытого ключа, вот что у меня получилось:

2012-02-01 15: 10: 44.464 PushMeBaby [21219: 903] MakeServerConnection (): 0

2012-02-01 15: 10: 44.482 PushMeBaby [21219: 903] SSLNewContext (): 0

2012-02-01 15:10: 44.486 PushMeBaby [21219: 903] SSLSetIOFuncs (): 0

2012-02-01 15: 10: 44.488 PushMeBaby [21219: 903] SSLSetConnection (): 0

2012-02-01 15: 10: 44.490PushMeBaby [21219: 903] SSLSetPeerDomainName (): 0

2012-02-01 15: 10: 44.492 PushMeBaby [21219: 903] SecKeychainOpen (): 0

2012-02-01 15: 10: 44.493 PushMeBaby [21219: 903] SecCertificateCreateFromData (): 0

2012-02-0115: 10: 44.504 PushMeBaby [21219: 903] SecIdentityCreateWithCertificate (): 0

2012-02-01 15: 10: 44.505 PushMeBaby [21219: 903] SSLSetCertificate (): 0

2012-02-01 15:11: 12.420 PushMeBaby [21219: 903] SSLHandshake (): 0

Затем, когда я нажимаю «push»:

2012-02-01 15: 11: 26.767 PushMeBaby [21219: 903] SSLWrite (): 0 78

и снова «нажать»:

2012-02-01 15: 11: 38.668 PushMeBaby [21219: 903] SSLWrite (): 0 78

Значение переменной «обработано» не изменяется!И, конечно, я не получаю push-уведомлений на моем iPhone.

  • Javapns:

Загрузите необходимые библиотеки с веб-сайта http://code.google.com/p/javapns/wiki/GeneralRequirements

Создайте файл .p12, экспортирующий push-сертификат и связанный с ним закрытый ключ.

Скопируйте и вставьте код java

import javapns.Push;

 public class PushTest {


  public static void main(String[] args) {

            Push.alert("Hello World!", "keystore.p12", "keystore_password", false, "My token");
  }

}

в класс java, заменив маркер устройства на нужный маркер устройства без пробелов., добавив файл .p12 и правильный пароль.

Отладка проекта позволяет мне увидеть это сообщение:

Передано: маркер устройства Мой маркер устройства

Но в мой iPhone нет уведомлений!При смене токена устройства у меня появляется сообщение «Недопустимый токен устройства»

  • php скрипт:

Выполнены шаги здесь

Получил сообщения:

Подключен к APNS

Сообщение успешно доставлено

Но на моем iPhone также не было уведомлений!

Ребята, вы не знаете, что пошло не так?Может ли быть проблема с профилем обеспечения?Но тогда я смогу получить токен устройства?Я видел в некоторых предыдущих вопросах что-то, связанное с настройкой даты, поэтому я добавил это в скрипт php, и мой iPhone настроен на автоматическую настройку параметров даты.Я думаю, что я пытался выйти из приложения, но ничего не вышло.Я сделал что-то необычное, используя идентификатор приложения для двух разных приложений, теперь я просто безумно догадываюсь, так как не знаю, где искать.Любая помощь приветствуется.Спасибо

1 Ответ

2 голосов
/ 13 февраля 2012

На самом деле это была ошибка ИТ-команды, которая сгенерировала неверный push-сертификат SSL!

И значение переменной «обработано», упомянутой в вопросе, связано с количеством символов в полезной нагрузке.

...