2012-02-26 10 views
3

私は働いているiOSプロジェクトをしていましたが、gitブランチで作業していた間にプロジェクトは主バンドルから突然リソースをロードしませんでした。 :iOS mainBundleがリソースをロードしていません

NSURL *url = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/nadamintrov1.aif", [[NSBundle mainBundle] resourcePath]]]; 
NSError *error; 
NSLog(@"%@", url); 
splashScreenAudioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error]; 

およびその他のViewControllersに私はまたのような他のファイルロードしています:

patch = [PdBase openFile:@"klangfarbe6ep.pd" path:[[NSBundle mainBundle] resourcePath]]; 
if (!patch) { 
    NSLog(@"Failed to open patch!"); 
    // Gracefully handle failure... 
} 

をしかしそれらが前にうまく働い両方ながら、今私は、「スプラッシュオーディオプレーヤーを初期化できなかった」取得パッチの場合:

open: /var/mobile/Applications/464B65AD-9E2C-42C9-8BBA-12AFD0D48393/Nadam.app/klangfarbe6ep.pd: No such file or directory 

klangfarbe6ep.pd:いいえこのようなファイルやディレクトリ 2012-02-26 12:07:17.332 Nadam [520:707]パッチを開けませんでした!

私はNSLog(@ "%@"、url)を意味します。私はAudioPlayerに明示して返信します:

2012-02-26 12:06:49.127 Nadam[520:707] file://localhost/var/mobile/Applications/464B65AD-9E2C-42C9-8BBA-12AFD0D48393/Nadam.app/nadamintrov1.aif 

なぜ地球上ではないのですか?最後のいくつかの変更でgitからの差分は、私が腐敗として見ることができるプロジェクトファイルに何も表示されません...

誰もそれらの前に起こったのですか?それをデバッグする方法はありますか?私は、このスレッドを読んで:

What is the alternative of [NSBundle mainBundle] URLForResource:withExtension: in iOS 3 SDK

しかし、それはありませんプロジェクトの変更で今までになく働いていた理由を理解することはできません...

答えて

6

を私は問題はここにある内容を正確に把握していません。しかし、それは最も一般的な問題です。 2つの状況では、このような問題が発生します。 1.ファイルパスが間違っています。 2.ファイルはバンドルに含まれていません。
上記のファイルパスを確認した後、私はそれがファイルパスの問題ではないと思います。しかし、ファイルがターゲットに含まれているかどうかを確認できます。あなたのファイルを右クリックし、情報を取得を選択してください。あなたの現在のターゲットがチェックインされているかどうか。

+0

これはまさにそれであり、単なるリソースがバンドルにコピーされていないことが分かります。私はターゲットを見てから、全体的にビルドターゲットを見て、それらはコピーされていませんでした。それを修復することで修正されました。 – pland

関連する問題