Ответ Косси немного устарел. Вместо этого обязательно используйте unsigned long long, иначе вы можете заметить странное поведение и сбои на 32-битных и 64-битных устройствах.
NSString *asd = @"4c8f695bdaf9856dbe000008";
unsigned long long result;
BOOL success = [[NSScanner scannerWithString:[asd substringToIndex:8]] scanHexLongLong:&result];
NSDate *date = [[NSDate alloc] initWithTimeIntervalSince1970:result];