Это работает только когда NSLocalizedDescriptionKey установлен в информации пользователя словаря. По-видимому, это не для объекта NSError, который вы из NSURLSession, и поэтому строка по умолчанию построена из домена и кода. Дополнительную информацию см. В документе SNError documentation.
Если вы хотите локализовать сообщения об ошибках, которые показываете своим пользователям, вам нужно будет проверить код ошибки для типа ошибки и показать соответствующую локализованную строку. См. Localizing Your App для получения более подробной информации об использовании локализации.
Edit:
Чтение свой вопрос еще раз, я думаю, что я неправильно понял ваш вопрос.
Если вы хотите, чтобы инициализировать объект NSError с доменом и ErrorCode, и он содержит некоторое сообщение об ошибке что соответствует коду ошибки, используемой NSURLSession ответом является NO.
Конкретные коды ошибок не являются общепризнанными стандартами, и ничто не мешает другим приложениям использовать одни и те же коды.
Это означает, что NSError автоматически не заполняет сообщение полей в соответствии с конкретными кодами ошибок. Клиенты, которые используют объект NSError, должны делать это вручную.
В разделе «Редактировать» вы поняли меня правильно. +1 – Avt