Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 注册Apple推送通知-如何通过HTTP传递DevToken?_Iphone_Character Encoding_Apple Push Notifications - Fatal编程技术网

Iphone 注册Apple推送通知-如何通过HTTP传递DevToken?

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

在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添加到请求中?我的第一反应是使用字节创建字符串对象,但当我尝试使用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];