2

ASIHTTPRequestサーバーのAPIにアクセスし、NSURLConnection音楽ファイルをダウンロードするために使用する音楽アプリに取り組んでいます。

1つの音楽ファイルは10M程度です。音楽ファイルをダウンロードする場合、サーバーのAPIへのアクセスは、音楽ファイルをダウンロードしない場合よりもはるかに遅くなります。

そのため、ダウンロード接続の優先度を低く変更したいと思います。NSURLConnectionただし、またはの優先度を変更するAPIはありませんNSURLRequest

これをアーカイブする方法は?

4

1 に答える 1

1

優先順位を付けることができるのはNSOperationQueuesだけだと思います。例へのリンクは次のとおりです:http: //eng.pulse.me/tag/nsurlconnection/

別の方法として、音楽ファイルのダウンロードを停止し、他のダウンロードが完了した後で再開することもできます。これを行うには、ダウンロードをファイルに保存し、要求に応じて再開するようにASIHTTPに指示できます。

これが私のプロジェクトの1つの例です:

- (void) executeFileDownloadAtURL:(NSURL *) aURL toDirectory:(NSString *) aDestinationPath;
{
    self.request = [ASIHTTPRequest requestWithURL:aURL];
    [self.request setDownloadDestinationPath:aDestinationPath];
    self.request.downloadProgressDelegate = self.delegate;
    [self.request setAllowResumeForFileDownloads:YES];
    NSString *tmpDir = NSTemporaryDirectory();
    NSString *tempFilePath = [NSString stringWithFormat:@"%@%@", tmpDir, @"TempMovie.mp4"];
    [self.request setTemporaryFileDownloadPath:tempFilePath];
    self.request.showAccurateProgress = YES;
    self.request.delegate = self;
    [self.request startAsynchronous];
}
于 2013-02-19T08:19:44.730 に答える