1

iPhone でアプリケーションを開発しています。このアプリケーションは、3 つの音楽ファイル (.mp3) を iOS デバイスに保存する必要があります (ファイルは Web サーバーからのものです)。ダウンロード機能は完全に機能しています(ASIHTTPrRequestを使用)。音楽の保存が完全に機能しない場合があります。つまり、音楽ファイルが音楽プレーヤーに移動する前にチェックを使用しています。

playpath=@"/Users/company/Library/Application Support/iPhone Simulator/5.0/Applications/3D5AD723-F18E-4F44-B3CB-FAEF2EA4963B/Documents/329/25-06-2012/330217/work25-06-2012330217.mp3"

 NSFileManager*fileM=[NSFileManager defaultManager];
if([fileM isReadableFileAtPath:playpath])
    {

     }

再生パス (ディレクトリ パス) は、ダウンロードごとに変更されます。ダウンロード パスで音楽が再生される場合と再生されない場合があります。つまり、このパスは上記の条件を満たせません。

私の質問は

  1. 上記の問題の理由は何ですか?
  2. isReadableFileAtPath の正確な機能は何ですか?
4

1 に答える 1

1

ファイル パスを明示的に書き出す代わりに、デバイスにパスを見つけてもらいます。これが私がすることです:

- (NSString*) saveFilePath: (NSString *) add
{
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);
    NSString *path = [paths objectAtIndex:0];
    NSString *filename = [path stringByAppendingPathComponent:add];
    return filename;
}

これを、データを保存またはロードするために必要なクラスに追加します。次に、次の方法でファイルの場所を取得できます。

[self saveFilePath:@"Name of file you want to load or write to"]
于 2012-08-02T13:14:59.337 に答える