14

私はhttps://code.google.com/p/apns-php/で提供されているapns PHPサーバを使用しています。APNS:無効なトークン(8)

私はプッシュ通知証明書を設定しましたが、私のコードでは接続時にエラーが発生します。

どうしたのですか?私は私のサーバーを実行したとき

- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)devToken { 

#if !TARGET_IPHONE_SIMULATOR 

    // Prepare the Device Token for Registration (remove spaces and < >) 
    NSString *deviceToken = [[[[devToken description] 
           stringByReplacingOccurrencesOfString:@"<"withString:@""] 
           stringByReplacingOccurrencesOfString:@">" withString:@""] 
          stringByReplacingOccurrencesOfString: @" " withString: @""]; 
    NSLog(@"%@", deviceToken); 

#endif 
} 

これは誤りである:ここでは、私は、デバイストークンを取得する方法である

Sat, 11 May 2013 13:37:53 -0700 ApnsPHP[18198]: INFO: Trying 
ssl://gateway.push.apple.com:2195... 
Sat, 11 May 2013 13:37:54 -0700 ApnsPHP[18198]: INFO: Connected to ssl://gateway.push.apple.com:2195. 
Sat, 11 May 2013 13:37:54 -0700 ApnsPHP[18198]: INFO: Sending messages queue, run #1: 1 message(s) left in queue. 
Sat, 11 May 2013 13:37:54 -0700 ApnsPHP[18198]: STATUS: Sending message ID 1 [custom identifier: abc123] (1/3): 101 bytes. 
Sat, 11 May 2013 13:37:54 -0700 ApnsPHP[18198]: ERROR: Unable to send message ID 1: Invalid token (8). 
Sat, 11 May 2013 13:37:54 -0700 ApnsPHP[18198]: INFO: Disconnected. 
Sat, 11 May 2013 13:37:54 -0700 ApnsPHP[18198]: INFO: Trying ssl://gateway.push.apple.com:2195... 
Sat, 11 May 2013 13:37:54 -0700 ApnsPHP[18198]: INFO: Connected to ssl://gateway.push.apple.com:2195. 
Sat, 11 May 2013 13:37:54 -0700 ApnsPHP[18198]: INFO: Sending messages queue, run #2: 1 message(s) left in queue. 
Sat, 11 May 2013 13:37:54 -0700 ApnsPHP[18198]: WARNING: Message ID 1 [custom identifier: abc123] has an unrecoverable error (8), removing from queue without retrying... 
Sat, 11 May 2013 13:37:55 -0700 ApnsPHP[18198]: INFO: Disconnected. 
+0

このビルドでAd-Hocプロビジョニングプロファイルを使用しましたか?それ以外の場合、生産証明書は動作しません。 – edwardmp

+0

@edwardmpええ、私はそれが問題だと思います。 –

答えて

20

最も可能性のある説明は、サンドボックスのデバイストークンをプッシュ通知を送信していることですプロダクションAPNSサーバーに送信します。

サンドボックス環境でテストしているときにアプリによってサーバーに送信された古いデバイストークンを使用している場合、または開発プロビジョニングプロファイルでまだ署名されていて、サンドボックスデバイストークンAPNSサービスから。

私の回答は、自分で作成したダミートークンではなく、APNサービスから発信されたデバイストークンを使用していることを前提としています。

プロビジョニング・プロファイルをチェックして、aps資格の値を確認することをお勧めします。私はまた、古いデバイスのトークンからDBをクリアすることをお勧めします。

+0

hmm ...今はサンドボックスに変更したというエラーは表示されませんが、私のデバイスはまだ私が知る限り通知を受け取っていません。 –

+0

@JasonSilbermanあなたはサンドボックスに何を正確に変更しましたか?アプリまたはサーバー?サーバーで間違った証明書を使用している場合(サンドボックスプッシュサーバーを使用してプロダクションAPNSサーバーに接続する場合やその逆の場合)、デバイスは何も受信せず、サーバーはエラー応答を取得しません。 – Eran

+0

私はサンドボックスのゲートウェイとサンドボックスの証明書を使用しています –

関連する問題