Вы говорите, что он работает в симуляторе и не работает на устройстве? Может быть, вы должны попытаться скопировать файл при первом запуске в одну из папок песочницы приложения и получить к нему доступ следующим образом:

ема: [NSBundle mainBundle] pathForResource возвращает ноль (0x0)

Я прочитал много сообщений на эту тему, вот что я нашел:

Убедитесь, что файл, к которому вы пытаетесь получить путь, находится в проекте. Чтобы проверить, посмотрите в списке файлов проекта файл, если его там нет, перетащите его.

Убедитесь, что файл, который вы пытаетесь загрузить, копируется в приложение. Чтобы сделать это, нажмите на проект под файлами проекта (синяя полоса с именем проекта в нем-> Нажмите на цель-> Нажмите на этапах сборки-> Нажмите, чтобы развернуть «Копировать ресурсы комплекта», и убедитесь, что ваш файл находится в нем Если это не так, нажмите плюс и добавьте его.

Убедитесь, что случай точно соответствует. (иначе - симулятор будет работать / приложение не будет проблем) Убедитесь, что регистр точно совпадает, иначе он ничего не вернет. Чтобы это исправить, просто переименуйте его в проекте или используйте правильный регистр в источнике.

В проекте может отсутствовать медиа-структура. Чтобы исправить это, нажмите на меню вашего проекта -> нажмите на цель -> нажмите, чтобы развернуть «Связать двоичные файлы с библиотеками». Теперь выберите MediaPlayer.framework и создайте код.

Если ничего не помогло, очистите проект и попробуйте снова.

Все это проверено / исправлено, но не работает. У меня это работало нормально, а затем я изменил видео, которое я показываю в приложении. Поскольку я изменил файл, он перестал работать.

NSString *path = [[NSBundle mainBundle] pathForResource:@"multiplying" ofType:@"m4v"];

Q: почему это ноль? Файл соответствует регистру / набран правильно и составляет около 10 мегабайт. (файл слишком большой?) Отлично работает в симуляторе, и я могу получить путь к изображению, строка выше этого, без ошибок.

Ответы на вопрос(1)

Ваш ответ на вопрос