У меня проблема только с некоторыми устройствами NSDateFormatter, возвращающая нуль, формат даты с сервера «13:05, 10 ноября 2013».NSDateFormatter, возвращающий нуль на некоторых устройствах
NSDate *Now = [NSDate serverDate];
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"HH:mm, d MMM yyyy"];
NSDate *LastLogin = [dateFormat dateFromString:DateString];
На тренажере и несколько устройств работает
LastLogin 2013-10-05 00:36:00 +0000 | Теперь 2013-11-25 14:50:51 +0000
, но на некоторых устройствах
LastLogin (нуль) | Теперь 2013-11-25 15:00:22 +0000
Устройства, с которыми у вас возникли проблемы, скорее всего, имеют время 12/24 времени, отличное от того, что определяет локаль. Это провоцирует «платную» (т.е. документированную ошибку) в iOS. Чтобы обойти это, установите локаль в нечто вроде «en_US_POSIX». См. [Эту тему] (http://stackoverflow.com/questions/6613110/what-is-the-best-way-to-deal-with-nsdateformatter-locale-feature). –