iPhone SDK Push-уведомление - PullRequest
       24

iPhone SDK Push-уведомление

3 голосов
/ 26 июня 2009

Я установил push-уведомления на панели разработчиков Apple и добавил код в свое приложение.

Он отлично работает на телефоне, используя профиль разработки, но если я использую профиль распространения (ad-hoc), чтобы я мог дать его нескольким пользователям для тестирования, он выдает ошибку и вылетает, журнал выдает следующую ошибку

Код:

Thu Jun 25 22:22:35 unknown SpringBoard[729] <Warning>: *** Assertion failure in -[SBRemoteNotificationServer registerApplication:forEnvironment:withTypes:], /SourceCache/SpringBoard/SpringBoard-919.5/SBRemoteNotificationServer.m:633
Thu Jun 25 22:22:35 unknown SpringBoard[729] <Error>: *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'no connection found for environment production'

Я использую следующий код в приложении

Код:

[[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound)];

Чего я не понимаю, так это того, почему он отлично работает при использовании профиля разработки, но в режиме ad-hoc происходит сбой.

Кто-нибудь знает, что может вызвать это? Я пытался изменить множество вещей, чтобы попытаться найти проблему, но ничего не нашел.

Ответы [ 6 ]

2 голосов
/ 24 сентября 2009

Я решил эту проблему на одном из своих устройств разработки, установив случайное приложение из App Store, которое использует push-уведомления. В этом случае я установил приложение Le Monde.fr. После того, как я запустил это приложение один раз, мое собственное приложение больше не зависало.

2 голосов
/ 13 августа 2009

У меня тоже была эта проблема. Симптомом было то, что приложение зависало при вызове [[UIApplication sharedApplication] registerForRemoteNotificationTypes: ...].

Кажется, что как только данное устройство загружает профиль распределения APN, попытка позже вернуться к использованию профиля разработки APN не будет работать, если вы не измените идентификатор приложения.

Если вы создаете пользовательский параметр сборки в XCode, как предложено здесь:

iPhone "Good Practices"

вы можете остановить сбой, а также иметь обе версии на одном устройстве для тестирования и т. Д.

1 голос
/ 26 июня 2009

Мне удалось заставить это работать, повторно запросив все сертификаты и т.д ..

0 голосов
/ 05 марта 2011

Вот мое решение, и оно связано с тем, как работают профили adhoc. Профили Adhoc не могут быть установлены через xCode. Вам необходимо собрать и заархивировать приложение, а также установить его с помощью iTunes или органайзера. Это исправило это для меня.

0 голосов
/ 12 апреля 2010

Длительное, но верное решение проблемы - «Удалить все содержимое и настройки».

0 голосов
/ 10 декабря 2009

Я решил эту проблему, перейдя в «Настройки», затем выключив верхний «главный» Push-уведомления, а затем снова включив его.

...