Объект NSURL, возвращаемый pathForResource, является нулевым для пользовательских импортированных файлов фильмов.
-(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 (Пример проекта - MoviePlayer)
https://developer.apple.com/library/ios/navigation/index.html?section=Resource+Types&topic=Sample+Code
Movie.m4v поставляется с примером, а скомпилированный пример проекта воспроизводит m4v без проблем. Но когда я делаю копию Movie.m4v, называю ее Movie_01.m4v и перетаскиваю файл в проект, MPMoviePlayerController не отвечает. Также добавлен вывод NSLog (начинается с MMM, а UUU становится "... = (null)". То же самое относится к сэмплу m4v "Sample.m4v", который я делаю сам с помощью iMovie.
Этот вопрос связан с вопросом, который я разместил ранее (здесь) . Мой предыдущий вопрос касается проекта, который я написал сам, и у него та же проблема: метод «pathForResource» возвращает «nil», даже если файлы фильмов кажутся правильно импортированными. Все примеры фильмов могут прекрасно воспроизводиться внутри XCode, и я импортировал (перетащил) файлы фотографий PNG в проект таким же образом. Но фотографии png могут отображаться скомпилированной программой как на телефоне, так и на симуляторе, как и ожидалось.
Надеюсь, кто-нибудь может дать несколько подсказок.