Возможно ли, что вы сделали то же самое, что я сделал в первый раз, когда попытался заставить звук работать на iPhone? Приглушен ли звук?
Другая возможность:
Я обнаружил, что имена файлов в комплекте чувствительны к регистру на устройстве, но не в симуляторе. (Или более чувствительно к регистру - я не экспериментировал с тем, что работает на каждом из них.) Так что, если регистр неверен в файле, он может просто скользить по симулятору, но возвращать ноль вместо файла, когда работает на устройстве.
Я знаю, это звучит странно, но я только подтвердил это в своем собственном проекте. Попробуйте взять файл, который, как вы знаете, загружается правильно, измените регистр имени файла и посмотрите, как он работает на устройстве. - уточнение - изменить регистр имени, по которому вы извлекаете файл, чтобы он больше не совпадал с именем файла в комплекте.
Это не значит, что это твоя проблема, но, тем не менее, есть на что обратить внимание.