我正在开发一个处理推送通知的iOS应用。我们的推送通知服务器是用ColdFusion编写的,并使用com.notnoop.apns.SimpleApnsNotification
发送通知。在应用程序中,我获取设备令牌(NSData
),Base64对其进行编码,然后再将其发送到服务器。但是,虽然SimpleApnsNotification
api期望令牌的字符串,但它似乎不需要Base64编码的字符串。
您知道编码SimpleApnsNotification
对设备令牌的期望是什么吗?
答案 0 :(得分:2)
你必须对其进行十六进制编码。尝试使用此方法在NSData上创建一个类别(这对我很有用):
- (NSString*) hexEncode {
NSString *deviceToken = [[self description] stringByReplacingOccurrencesOfString: @"<" withString: @""];
deviceToken = [deviceToken stringByReplacingOccurrencesOfString: @">" withString: @""] ;
deviceToken = [deviceToken stringByReplacingOccurrencesOfString: @" " withString: @""];
return deviceToken;
}
尝试一下,看看它是否适合你。