Как я могу преобразовать мой токен устройства (NSData) в строку NSString?

scanf() читает именно то, о чём вы его просили, оставив следующий \n с конца этой строки в буфере, где fgets() прочитает его. Либо сделайте что-нибудь, чтобы использовать новую строку, или (мое предпочтительное решение) fgets(), а затем sscanf() из этой строки.

140
задан Sheehan Alam 21 February 2012 в 05:48
поделиться

1 ответ

В iOS 13 описание будет в другом формате. Любезно используйте ниже кода для выборки маркера устройства.

- (NSString *)fetchDeviceToken:(NSData *)deviceToken {
    NSUInteger len = deviceToken.length;
    if (len == 0) {
        return nil;
    }
    const unsigned char *buffer = deviceToken.bytes;
    NSMutableString *hexString  = [NSMutableString stringWithCapacity:(len * 2)];
    for (int i = 0; i < length; ++i) {
        [hexString appendFormat:@"%02x", buffer[i]];
    }
    return [hexString copy];
}
0
ответ дан 23 November 2019 в 22:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: