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 の "bytes" メソッドの戻り値の型がポインターであることはわかりましたが、どうすればよいかわかりません。このトークンをリクエストに入れる正しい方法は何ですか?
ドキュメントには、「アプリケーションはプロバイダーに接続し、バイナリ形式でエンコードされたこのトークンを渡す必要があります」という詳細も記載されています。しかし、この方法でエンコードされたものを処理する方法がわかりません。