Объект NSURL, возвращаемый pathForResource, является нулевым для пользовательских импортированных файлов фильмов.MPMoviePlayerController и объект NSURL
-(NSURL *)localMovieURL
{
NSURL *theMovieURL = nil;
NSBundle *bundle = [NSBundle mainBundle];
if (bundle)
{
NSString *moviePath = [bundle pathForResource:@"Movie" ofType:@"m4v"];
//NSString *moviePath = [bundle pathForResource:@"Movie_01" ofType:@"m4v"];
//NSString *moviePath = [bundle pathForResource:@"Sample" ofType:@"m4v"];
if (moviePath)
{
theMovieURL = [NSURL fileURLWithPath:moviePath];
}
NSLog(@" MMM moviePath = %@", moviePath);
NSLog(@" UUU theMovieURL = %@", theMovieURL);
}
return theMovieURL;
}
Рассмотрим выше пример кода от компании Apple (Sample название проекта - MoviePlayer)
Movie.m4v поставляется с образцом и скомпилированного проекта образца играет m4v без проблем вообще , Но когда я делаю копию Movie.m4v, назовите ее Movie_01.m4v и перетащите файл в проект, MPMoviePlayerController не ответит. Также добавленный вывод NSLog (начинается с MMM и UUU становится «... = (null)». То же самое касается образца m4v «Sample.m4v», который я делаю с iMovie.
Этот вопрос связан с вопрос, который я опубликовал ранее (here). Мой предыдущий вопрос включает в себя проект, который я написал сам, и он имеет ту же проблему: метод «pathForResource» возвращает «nil», даже файлы фильмов, по-видимому, правильно импортированы. Xcode и я импортировали (перетаскивают) фотофайлы png в проект таким же образом. Но фотографии png могут отображаться скомпилированной программой как на телефоне, так и на симуляторе, как ожидалось.
Надеюсь, что кто-то может дать некоторые подсказки .
Спасибо за ответ, но где я могу найти (Шаги сборки проекта> Копировать ресурсы)? – Stanley
Выберите проект в навигаторе проекта, выберите цель, нажмите «Сформировать фазы», «Скопируйте ресурсы пакета» и добавьте свой фильм. –
Также о двух вопросах, первый был несколько часов назад и под другим заголовком. Второй - это обновление и задать другой вопрос. У старого есть ссылка на это на всякий случай, если люди не узнают, почему вопрос внезапно закрыт. – Stanley