2013-04-27 3 views
0

Я тестирую функцию сообщения APNS в QuickBlox. Я использовал образец кода и использовал единственный параметр пользователя, в котором я создал пользователя («pushuser») и пароль, и добавил критерии аутентификации в код appdelegate.m, как указано инструкциями QuickBlox (см. Код). Приложение прекрасно компилируется, и когда я впервые загрузился на свой iPhone, у меня появилось всплывающее окно о том, чтобы разрешить push-уведомления для приложения. Я проверяю настройки iPhone в области уведомлений и вижу, что приложение находится в их и разрешено отправлять уведомления. Когда я перехожу в панель администратора QuickBlox и пытаюсь отправить тестовое сообщение Simple push. Я получаю сообщение об ошибке в верхней части панели администратора «Нет получателей». По крайней мере один пользователь должен быть подписан на APNS (Apple Push) (через SDK или REST API) ». Мои QuikBlox ApplicationID, AuthorizationKey и AuthorizationSecret включены правильно, так как я могу делать другие вещи с помощью приложения, которое их требует. Любая помощь приветствуется. Благодаря!Вопрос о тестировании APNS QuickBlox

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions: (NSDictionary *)launchOptions 
{ 

    // Set QuickBlox credentials (You must create application in admin.quickblox.com) 
    [QBSettings setApplicationID:xxxx]; 
    [QBSettings setAuthorizationKey:@"xxxxxx"]; 
    [QBSettings setAuthorizationSecret:@"xxxxxx"]; 



    [QBAuth createSessionWithDelegate:self]; 

    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease]; 

    // Show Splash 
    self.splashController = [[[SplashController alloc] initWithNibName:@"SplashViewController" bundle:nil] autorelease]; 
    self.window.rootViewController = (UIViewController*)self.splashController; 
    [self.window makeKeyAndVisible]; 

    return YES; 

    QBASessionCreationRequest *extendedAuthRequest =[QBASessionCreationRequest request]; 
    extendedAuthRequest.userLogin = @"pushuser"; 
    extendedAuthRequest.userPassword = @"pushuserpwd"; 

    [QBAuth createSessionWithExtendedRequest:extendedAuthRequest delegate:self]; 
} 
#pragma mark - 
#pragma mark QBActionStatusDelegate 

    // QuickBlox queries delegate 
    - (void)completedWithResult:(Result *)result{ 

     if(result.success) { 
      // Create session result 
      if([result isKindOfClass:QBAAuthSessionCreationResult.class]){ 
       // You have successfully created the session 

       // Subscribe Users to Push Notifications 
       [QBMessages TRegisterSubscriptionWithDelegate:self]; 

       // Subscribe User to Push Notifications result 
      }else if([result isKindOfClass:QBMRegisterSubscriptionTaskResult.class]){ 
       // Now you can receive Push Notifications! 
      } 

     }else{ 
      NSLog(@"errors=%@", result.errors); 
     } 
    } 
+0

Как вы решили эту проблему? поскольку я столкнулся с той же проблемой! – Maulik

+0

@Maulik, я фактически использовал другого провайдера APN, так как это сводило меня с ума. Другой провайдер был относительно прост в настройке, и до сих пор у меня не было проблем. Я даже не могу вспомнить опубликование этой проблемы с помощью quickblox..lol – bachma0507

ответ

0

одна вещь, которую я хотел бы просить вас, чтобы попробовать, чтобы проверить журнал

есть какие-либо ошибки?

NSLog(@"errors=%@", result.errors); 

Из-за этот запрос [QBMessages TRegisterSubscriptionWithDelegate: сам]; может возвращать ошибки, и ваша подписка на push-уведомления не будет успешной. Например, это может быть неудачно, если вы используете недействительный профиль.

Thanks

+0

Я получаю 'Текущее приложение не имеет соответствующих учетных данных для отправки уведомлений через APNS (Apple Push)' Я уже читал http://quickblox.com/ разработчики/How_to_create_APNS_certificates – Maulik

+0

Вы должны загрузить сертификаты APNS (p12 или pem) в панель администратора QuickBlox –

+0

да, конечно .... Я уже сделал ... но все еще сталкивался с этой проблемой .. – Maulik

Смежные вопросы