XML-документ имеет кодировку UTF-8, если в нем нет декларации XML, в которой указано иное, например:
<?xml version="1.0" encoding="shift_jis"?>
или
<?xml version="1.0" encoding="cp932"?>
Любой анализатор XML должен определять кодировку, указанную в объявлении XML. (Некоторые синтаксические анализаторы могут не поддерживать некоторые кодеки CJK, поэтому будут жаловаться, но AIUI NSXMLParser должен подойти.)
Если у вас есть файл с последовательностями байтов Shift-JIS, который не имеет такой заявленной кодировки, или который содержит последовательности байтов Shift-JIS в одних элементах и UTF-8 в других, то у вас нет формируется; это вообще не документ XML, и никакой парсер его не прочитает.
Если вы только что получили недостающее объявление кодировки, вам действительно нужно исправить его в исходном коде, но тем временем взломать подходящее объявление XML или транскодировать байт вручную из Shift-JIS в UTF-8, прежде чем вводить его в анализатор, должно помочь.