2009-12-18 77 views
0

我已經設法從APN獲得設備口令。它是NSData的類型。 所以我想寫這個deviectoken到我的MySQL數據庫。 我已經試圖將它轉換爲字符串,但沒有運氣。 這是我的方式:iPhone pushNotification DeviceToken - 如何「解密」

NSString *tokenTMP = [[NSString alloc] initWithData:devToken encoding:NSASCIIStringEncoding]; 

,如果我有deviceToken以可讀格式。我如何在php中使用令牌向apns服務器發送請求?

非常感謝!

回答

4

添加以下類別的NSData

- (NSString*) stringWithHexBytes 
{ 
    NSMutableString *stringBuffer = [NSMutableString stringWithCapacity:([self length] * 2)]; 
    const unsigned char *dataBuffer = [self bytes]; 

    for (int i = 0; i < [self length]; ++i) 
    { 
     [stringBuffer appendFormat:@"%02X", (unsigned long)dataBuffer[ i ]]; 
    } 

    return [[stringBuffer retain] autorelease]; 
} 

然後,我可以只是調用[DEVTOKEN stringWithHexBytes];併發送到我的服務器並將其作爲文本存儲。

希望有所幫助。

chris。

+0

感謝您的幫助。 如果我想運行應用程序,編譯器抱怨 ([自身長度] * 2)錯誤 「無效操作數爲二進制*(有'id'和'int')」 發生。 – rdesign 2009-12-18 19:43:30

+0

我已編輯你的功能,現在它的作品!非常感謝! - (NSString *)stringWithHexBytes:(NSData *)token; 像charme :)的作品 – rdesign 2009-12-18 19:51:47