Похоже, что поведение по умолчанию для NSDateFormatter
было изменено в iOS11. Этот код использовался для создания и форматирования даты в соответствии с выбранным языком iPhone/iPad до iOS11:
_dateFormatterInstance = [[NSDateFormatter alloc] init];
_dateFormatterInstance.timeZone = [NSTimeZone systemTimeZone];
Похоже, в iOS11 мы должны явно указать для него свойство locale:
_dateFormatterInstance = [[NSDateFormatter alloc] init];
_dateFormatterInstance.timeZone = [NSTimeZone systemTimeZone];
_dateFormatterInstance.locale = [NSLocale localeWithLocaleIdentifier:[[NSLocale preferredLanguages] firstObject]];
Может кто-нибудь подтвердить мои выводы?