2011-10-28 15 views
1

私のiPhoneアプリケーションのテスト環境では、私のプロジェクトのResourcesフォルダのChineseCharTestというフォルダから.pngイメージを読み込んでいます。このフォルダの内容を変更して別の画像で新しいテストを実行すると、古い画像がアプリケーションメモリから削除されていないことに気付きました。私はテストが実行されるたびにそれらを削除しようとしているので、読み込まれている画像が最新のものになります。現在使用しているコードは次のとおりです。iPhoneリソースのフォルダの内容を削除する

NSError *err; 
NSFileManager *fileManager = [NSFileManager defaultManager]; 
NSString* resources_path = [[[NSBundle mainBundle] resourcePath] stringByAppendingString:@"/ChineseCharTest"]; 
NSArray *prev_test_contents = [fileManager contentsOfDirectoryAtPath:resources_path error:nil]; 
NSEnumerator *e = [prev_test_contents objectEnumerator]; 
NSString *png_filename; 
NSString *extension = @"png"; 
// Remove previous files with .png extension from ChineseCharTest folder 
while ((png_filename = [e nextObject])) { 
    if ([[png_filename pathExtension] isEqualToString:extension]) { 
     BOOL success = [fileManager removeItemAtPath:[resources_path stringByAppendingPathComponent:png_filename] error:&err]; 
     if (!success) { 
      NSLog(@"Error removing file: %@", [err localizedDescription]); 
     } 
    } 
} 

前回のアプリの画像は削除されていません。各試行でエラーが返されるのは、ココアの一般的なエラー513です。操作を完了できませんでした。誰かが私が間違ってやっていることやこれを行う別の方法を知っていますか?

大変ありがとうございます。

答えて

2

アプリのバンドル内のファイルは読み取り専用で、iOSから削除または変更しようとすると失敗します。

異なるイメージリソースを使用してアプリケーションを再構築することについて実際に話していて、古いものがまだテストデバイスのアプリケーションバンドルにあることがわかっている場合は、プロジェクトをクリーンアップし、テストからアプリケーションを削除する必要がありますデバイスを再インストールします。

+0

何が苦しいですか。ありがとう。 –

関連する問題