1. 程式人生 > >Xcode 升級到9.0 後無法通過mainBundle獲取資原始檔的解決辦法

Xcode 升級到9.0 後無法通過mainBundle獲取資原始檔的解決辦法

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。



問題得到解決