hachinoBlog

hachinobuのエンジニアライフ

deviceToken(NSData型)をNSString型に変換する際

NSData型は本来であれば

NSData* aData;
aData = [aStr dataUsingEncoding: NSASCIIStringEncoding];

上記でNSString型に変換できるが、deviceTokenには先頭に < 
終端に > 文字列の間に空白が入っているので上記の変換方法でやってもnullが返ってきてしまう。
解決方法としては<> などの不要な文字を消してあげれば良い。

NSString *device_id = [[[deviceToken description] stringByTrimmingCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"<>"]] stringByReplacingOccurrencesOfString:@" " withString:@""];

参考URL
http://www.iphonedevsdk.com/forum/iphone-sdk-development/23229-converting-nsdata-nsstring-push-notification.html