Xcode 升级到9.0 无法通过mainBundle获取资源文件解决办法
项目文件结构如下:
问题描述:
最近发现一个奇葩问题:就是Xcode升级到9.0 后出现无法通过NSBundle的 mainBundle方法获取资源文件。
代码如下:
-(void)createAVPlay{
//P1:file name, P2:expanding name
NSString * str=[[NSBundlemainBundle] pathForResource:@"Sunday"ofType:@"mp3"];
//通过上面这行代码无法获取到测试资源文件“Sunday.mp3”
//NSURL * urlMusic=[NSURL URLWithString:str];
NSURL * urlMusic=[NSURLfileURLWithPath:str];
NSLog(@"url=%@",urlMusic);
//P1:audio play address
player=[[AVAudioPlayeralloc] initWithContentsOfURL:urlMusicerror:nil];
[playerprepareToPlay];
//-1 infinite loop
player.numberOfLoops=1;
//set the volume
player.volume=0.5;
}
解决方案:
设置Bundle Resource, 选中工程->Build Phases->Copy Bundle Resources。
问题得到解决