Ошибка IOS NSDateFormatter
У меня есть функция для преобразования в NSDate с помощью NSDateFormatter. 
+(NSDate*)getDateFromCurrentTimestamp:(NSString*)currentTimestamp{
//    currentTimestamp= @"28-Feb-2012 16:42:19 PM";
    NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
    [dateFormatter setDoesRelativeDateFormatting:NO];
    [dateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
    [dateFormatter setFormatterBehavior:NSDateFormatterShortStyle];
    //[NSDateFormatter setDefaultFormatterBehavior:NSDateFormatterBehaviorDefault];
    [dateFormatter setDateFormat:@"dd-MMM-yyyy HH:mm:ss a"];
    return [dateFormatter dateFromString:currentTimestamp];
}
IOS 5.x возвращается правильно NSDate.
при запуске на 4.1 и 4.2 также возвращаются правильные NSDate. 
при запуске на 4.3.2 и 4.3.3, он возвращается null.
Как это возможно? есть ли обходной путь для этого?
EDIT
Это  не вызвано ошибкой iOS. это связано с самим телефоном. некоторые телефоны имеют другой набор locale в устройстве. поэтому нам пришлось заставить его использовать один locale. 
2 ответа:
Из нашего обсуждения в комментариях:
установлены ли ваш регион и локаль для устройств 4.3.2 и 4.3.3? Смотрите, если это так Вопрос помогает.
Соответствующий код:
[dateFormatter setLocale:[[[NSLocale alloc] initWithLocaleIdentifier:@"en_GB"] autorelease]];
Похоже, кто-то сталкивался с этой проблемой раньше. Обходной путь написан здесь: NSDateFormatter возвращает null для даты в ios 4.3.3