アップルのプッシュ通知の登録 - どのように私はHTTPでDevTokenを渡すのですか?

StackOverflow https://stackoverflow.com/questions/1276090

質問

iPhoneプッシュ通知ドキュメントでは、彼らは、デバイストークンを受信するのUIApplicationメソッドをオーバーライドするコードスニペットを持っている -

- (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)devToken {
const void *devTokenBytes = [devToken bytes];
self.registered = YES;
[self sendProviderDeviceToken:devTokenBytes]; // custom method
}
私は自分のカスタムメソッドを実装する場合、

私の質問は、どのように私はdevTokenBytesを使用していますか?

私は、サーバー側プロバイダアプリにトークンをハンドオフすること、(私は仮定)NSURLConnectionを使用して、HTTPリクエストを作成する必要があります。私はその部分を取得するが、私は、要求にdevTokenBytesを追加するかどうかはわかりませんか?私の最初の本能は、Stringオブジェクトを作成するためにバイトを使用することでしたが、私はNSASCIIStringEncodingを使用しようとすると、文字の奇妙なごちゃ混ぜ混乱を取得します。私はNSDataのの「バイト」メソッドの戻り値の型がポインタであることがわかり、私はそれで何をするか分かりません。要求にこのトークンを置くための正しい方法は何でしょうか。

の資料も詳細 - 「彼のアプリケーションは、そのプロバイダに接続し、それをバイナリ形式でエンコードされたこのトークンを渡す必要があります。」しかし、私は、このようにエンコードされたものを処理する方法がわからない。

役に立ちましたか?

解決 2

これを処理する最も簡単な方法は、NSDataのの「説明」メソッドからの戻り値を使用することであるように思えます。それはあなたが64文字表現を取得するためにビットで遊ぶことができます文字列を返します。

他のヒント

私はまだそれを試していませんが、私の最初の推測では、あなたの要求にクエリパラメータとして渡すことができる7ビットクリーンな文字列にバイナリ配列をBase64エンコードを見てだろう。

また、代わりに、URLにデータを投稿できるが、私はそれが容易になるだろうと思うだろうエンコーディングます。

イムこれはあなたが探しているかどうかわからない。

deviceTokenString = [[[[[deviceToken description]
                            stringByReplacingOccurrencesOfString: @"<" withString: @""] 
                           stringByReplacingOccurrencesOfString: @">" withString: @""] 
                          stringByReplacingOccurrencesOfString: @" " withString: @""] retain];
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top