Ошибка «неявное объявление функции» в Objective-C

Я хочу преобразовать короткую строку в хеш md5, я нашел несколько сообщений об этом, но никто не работал. это самый простой пример, который я нашел. у меня есть эта ошибка

неявное объявление функции CC_MD5 недействительно в C99

- (NSString *) md5:(NSString *) input
{
 const char *cStr = [input UTF8String];
 unsigned char digest[16];
 CC_MD5( cStr, strlen(cStr), digest ); // This is the md5 call

 NSMutableString *output = [NSMutableString stringWithCapacity:CC_MD5_DIGEST_LENGTH * 2];

 for(int i = 0; i < CC_MD5_DIGEST_LENGTH; i++)
 [output appendFormat:@"%02x", digest[i]];

 return  output;
 }

ОБНОВЛЕНИЕ Я добавил #import, он отлично работает, когда я вызываю такой метод:

[self md5:@"admin"];

, я получаю правильный хеш md5. Но когда я делаю это

 [self md5:userId];

, я получаю сообщение об ошибке

[NSDecimalNumber UTF8String]: нераспознанный селектор отправлен экземпляру 0x4d3e280 Но userId не является десятичным, он содержит идентификатор facebook, но объявлен как NSString

NSString *userId;
@property(retain,nonatomic) NSString *userId;
7
задан user567 13 December 2011 в 23:56
поделиться