Xcode 升級到9.0 後無法通過mainBundle獲取資原始檔的解決辦法
阿新 • • 發佈:2019-01-21
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。
問題得到解決