Iphone 注册Apple推送通知-如何通过HTTP传递DevToken?
在iPhone推送通知文档中,他们有一个代码段,其中覆盖了接收设备令牌的UIApplication方法-Iphone 注册Apple推送通知-如何通过HTTP传递DevToken?,iphone,character-encoding,apple-push-notifications,Iphone,Character Encoding,Apple Push Notifications,在iPhone推送通知文档中,他们有一个代码段,其中覆盖了接收设备令牌的UIApplication方法- - (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)devToken { const void *devTokenBytes = [devToken bytes]; self.registered = YES; [self sendProvide
- (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)devToken {
const void *devTokenBytes = [devToken bytes];
self.registered = YES;
[self sendProviderDeviceToken:devTokenBytes]; // custom method
}
我的问题是,当我实现自己的自定义方法时,如何使用devTokenBytes
我需要使用NSURLConnection(我想)创建一个HTTP请求,该请求将令牌传递给我的服务器端提供者应用程序。我得到了那个部分,但我不知道如何将devTokenBytes添加到请求中?我的第一反应是使用字节创建字符串对象,但当我尝试使用NSASCIIStringEncoding时,我得到了一堆奇怪的混乱字符。我看到NSData的“bytes”方法的返回类型是指针,但我不知道如何处理它。将此令牌放入请求的正确方式是什么
文档中还详细说明了“应用程序应该与它的提供者连接并传递这个二进制编码的令牌。”但我不知道如何处理以这种方式编码的东西。我还没有尝试过,但我的第一个猜测是看Base64如何将二进制数组编码为一个7位干净字符串,该字符串可以在您的请求中作为查询参数传递
您也可以将数据发布到URL,但我认为编码会更简单。我还没有尝试过,但我的第一个猜测是将Base64编码为一个7位干净字符串,可以在您的请求中作为查询参数传递
您也可以将数据发布到URL,但我认为对其进行编码会更容易。处理此问题的最简单方法似乎是使用NSData的“description”方法的返回值。它将返回一个字符串,您可以对该字符串稍加处理以获得64个字符的表示形式 处理这个问题的最简单方法似乎是使用NSData的“description”方法的返回值。它将返回一个字符串,您可以对该字符串稍加处理以获得64个字符的表示形式 我不确定这是否是您想要的:
deviceTokenString = [[[[[deviceToken description]
stringByReplacingOccurrencesOfString: @"<" withString: @""]
stringByReplacingOccurrencesOfString: @">" withString: @""]
stringByReplacingOccurrencesOfString: @" " withString: @""] retain];
deviceToken安装=[deviceToken说明]
StringByReplacingOfString:@“with String:@”]
stringByReplacingOccurrencesOfString:@“with string:@”“retain];
我不确定这是否是您要找的:
deviceTokenString = [[[[[deviceToken description]
stringByReplacingOccurrencesOfString: @"<" withString: @""]
stringByReplacingOccurrencesOfString: @">" withString: @""]
stringByReplacingOccurrencesOfString: @" " withString: @""] retain];
deviceToken安装=[deviceToken说明]
StringByReplacingOfString:@“with String:@”]
stringByReplacingOccurrencesOfString:@“with string:@”“retain];