Да, это задокументировано как примечание в NSNumberFormatter Reference Reference (требуется вход в систему). В записке написано:
iPhone OS Примечание: iPhone OS поддерживает
только современное 10.4+ поведение.
Методы в стиле 10.0 и строки форматирования недоступны в iPhone OS.
РЕДАКТИРОВАТЬ: Добавлено больше текста для поддержки последующих вопросов.
Вы могли бы переписать свое на что-то подобное:
NSNumberFormatter *lengthFormatter = [[NSNumberFormatter alloc] init];
[lengthFormatter setNumberStyle:NSNumberFormatterDecimalStyle];
[lengthFormatter setPositiveSuffix:@"M"];
[lengthFormatter setNegativeSuffix:@"M"]; // assuming it can go negative
Предлагаю взглянуть на документ, на который я ссылался выше. Это специально для iPhone версии NSNumberFormatter, так что ни один из методов, которые вызовут сбой вашего приложения, там не существует. Он также разработан, чтобы использовать гораздо больше преимуществ локализованных настроек пользователя, чем исходный NSNumberFormatter. Существуют группы методов для ограничения того, что появляется, и тому подобное, при этом все еще используя преимущества предпочтений пользователя. К сожалению, метод setFormat:
больше не существует.