2011-06-28 7 views
0

avaudioPlayerで奇妙な問題が発生しています。それは私がiPhoneのシミュレータ4.0,4.1、および4.2を実行すると正常に動作します。 ipadシミュレータ4.2を実行するとうまく動作しますが、ipadシミュレータ3.2を実行すると、AVAudioPlayerコードにはNullのfileURLがあるため、クラッシュします。iphone simulator 3.2 AvAudioPlayer fileURL問題

ここに私のコードです。

NSString *filePath = [[NSBundle mainBundle] pathForResource:appDelegate.globalMP3Name 
                ofType:@"mp3"]; 

// Convert the file path to a URL. 
NSURL *fileURL = [[NSURL alloc] initFileURLWithPath:filePath]; 

私は弱いリンクを持つAVFoundation Frameworkを使用して、iOS3互換にしています。 globalMP3Name(1.mp3)が正しく取得されているため、1.mp3のfilePathはnullにはなりません。 FileURLは他のシミュレータと連携していますが、3.2のみがクラッシュしています。

ここにconsoleからのエラーmsgがあります。

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: ' *** -[NSURL initFileURLWithPath:]: nil string parameter' 
2011-06-27 18:51:57.092 Stack: (
45475920, 
46633772, 
45213451, 
45213290, 
1135303, 
18960, 
3038446, 
3535934, 
3545280, 
3540077, 
3165672, 
3057219, 
3088856, 
53191036, 
44755100, 
44751016, 
53184669, 
53184866, 
3081074, 
10148, 
10037 
) 
terminate called after throwing an instance of 'NSException' 

どうすれば修正できますか?

答えて

1

リソースの名前が拡張子を持っている、あなたは唯一の「1」

0

@と呼ばれるべきではないはずですが、エラーメッセージ

reason: ' *** -[NSURL initFileURLWithPath:]: nil string parameter

を見て、あなたが

で一時停止をすることができ

NSString *filePath = [[NSBundle mainBundle] pathForResource:appDelegate.globalMP3Name ofType:@"mp3"];

po appDelegate.globalMP3Name何が起こるかを確認する。

私はそれがまったくないと思います。