2

プロジェクト内のオーディオ ファイルへのリンクを含む NSURL を作成しようとしています。オーディオ ファイル (.m4a ファイル) をコピーし、次の行を使用して NSURL にそれらの 1 つを入力しています。

NSURL *fileToBePlayed = [[NSURL alloc] initWithString:[NSString stringWithString:[[NSBundle mainBundle] pathForResource:@"A3" ofType:@"m4a" inDirectory:@"Sounds"]]];

この行で次のクラッシュが発生しています。

2012-06-20 12:32:05.307 TestPlayer[29184:10703] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSPlaceholderString initWithString:]: nil argument'

本当のことはわかりませnil argumentん。ファイルは間違いなく正しい場所にあり、プロジェクトなどにコピーされています。ファイルが見つからない理由はわかりません。ファイル名をそこにない架空のファイルに変更すると、同じクラッシュが発生するため、何らかの理由でファイルが表示されない可能性があります。何か案は?

別の行に分割すると、ここの最初の 2 行は問題ありません。クラッシュするのは 3 番目の NSURL 行です。

NSString *testString = [[NSString alloc] init];
testString = [[NSBundle mainBundle] pathForResource:@"A3" ofType:@"m4a"];
NSURL *fileToBePlayed = [[NSURL alloc] initWithString:testString];
4

1 に答える 1

5

何らかの理由で、ファイルがターゲットに追加されていなかったことが判明しました。それをありがとう、Xcode。

于 2012-06-20T12:14:52.153 に答える