маркер устройства apns не генерируется с производственным сертификатом - PullRequest
0 голосов
/ 01 марта 2012

Я прочитал удивительные руководства Ray по apns оттуда http://www.raywenderlich.com/3443/apple-push-notification-services-tutorial-part-12 http://www.raywenderlich.com/3525/apple-push-notification-services-tutorial-part-2

, и я реализовал их с сертификатом разработки, и все работает нормально, но теперь, когда я реализовал его с сертификатом производства, токен устройства прекратил генерировать.Я создал новый идентификатор приложения для производства, а также новый SSL-сертификат Production Push, и я также создал файлы .pem, но кое-что, как токен устройства не генерируется, плз.ведите меня в этом, потому что я застрял здесь, даже это уведомление не называется

- (void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken
{
    NSString* oldToken = [dataModel deviceToken];

    NSString* newToken = [deviceToken description];
    newToken = [newToken stringByTrimmingCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"<>"]];
    newToken = [newToken stringByReplacingOccurrencesOfString:@" " withString:@""];

    NSLog(@"My token is: %@", newToken);

    [dataModel setDeviceToken:newToken];
    [[NSNotificationCenter defaultCenter] postNotificationName:@"TokenRecieved" object:nil];

    if ([dataModel joinedChat] && ![newToken isEqualToString:oldToken])
    {
        [self postUpdateRequest];
    }
} 

плз.руководство

Ответы [ 2 ]

1 голос
/ 20 сентября 2013

У меня была точно такая же проблема некоторое время назад. Даже didFailToRegisterForRemoteNotificationsWithError не был вызван после вызова registerForRemoteNotificationTypes.

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

Если вы создали сертификат APN ПОСЛЕ создания профилей обеспечения, этот шаг может вам помочь.

1 голос
/ 01 марта 2012

Одной из причин такого типа поведения может быть то, что вы не зарегистрировали свою заявку на RemoteNotifications.Чтобы зарегистрировать его для apns, вам нужно будет написать следующий код в методе didFinishLaunchingWithOptions вашего делегата приложения.

[application registerForRemoteNotificationTypes:UIRemoteNotificationTypeAlert|UIRemoteNotificationTypeBadge ];

Он зарегистрирует ваше устройство для уведомлений типа Badge and Alert.Чтобы проверить, зарегистрировано приложение или нет, вы можете зайти в настройки> уведомления> ваше приложение , если его с этими двумя типами уведомлений, то ваше приложение будет готово вызвать метод делегата и получить уведомление (еслипереключатель в настройках включен).

Кроме того, было бы полезно, если бы вы внедрили метод application:didFailToRegisterForRemoteNotificationsWithError: и регистрировали ошибки, если таковые имеются.

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...