2009-06-26 6 views
3

У меня есть настройки push-уведомлений на панели разработчиков Apple и добавлен код в мое приложение.iPhone SDK Push Notification

Он отлично работает на телефоне, используя профиль разработки, но если я использую профиль распределения (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 он выходит из строя.

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

+0

Посмотрите на предложение «Le Monde.fr» от «sint» ниже - это работает! Я думаю, что это ошибка, поэтому я поднял это с Apple как идентификатор ошибки # 7365308 («Переход от разработчика к специальной версии приложения с использованием APNS вызывает сбои»). –

+0

FYI, Apple очень быстро отреагировали на мой отчет об ошибке и сказали: «Не могли бы вы убедиться, что эта проблема также возникает в iPhone 3.1.2 GM. (7D11)». Я вряд ли смогу проверить это на некоторое время. –

ответ

1

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

2

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

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

При создании определенного пользователя сборки настройки в Xcode, как это было предложено здесь:

iPhone "Good Practices"

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

2

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

+0

Я не мог поверить, что это решение сработает, но после того, как я исчерпал другие идеи, в конце концов я попробовал - и это работает! Хороший! –

0

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

0

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

0

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