0

私のアプリケーションでは、10前後のビデオをアプリケーションにダウンロードし、それに応じて再生する必要があります。各ビデオは約50MBです。
私は次のコードを使用しており、ビデオをダウンロードした後、icloud同期を回避するためにアプリケーションサポートフォルダーに保存しています。しかし、問題は、ビデオをダウンロードするとクラッシュすることです。

   [NSURLConnection sendAsynchronousRequest:req queue:[[NSOperationQueue alloc] init]  completionHandler:^(NSURLResponse *response, NSData *rcvdDat, NSError * err) 
     {
      .
      .
      .
     }

私が考えているのは、ビデオをダウンロードしている間、それはメモリ内にあるため、アプリが占める合計メモリが増加しているということです。最後に、iOSはアプリを閉じさせています。ビデオをダウンロードしたいのですが、データのストリームを受信したら、一時ファイルに書き込み、完了したらアプリケーションサポートフォルダーに移動します。誰かがそれをファイルに書き込んで最後に保存する方法を教えてもらえますか?
法的な問題により、サードパーティのライブラリを使用できません(小さい場合を除く)。

4

1 に答える 1

0

私が提案している解決策は、「sendAsynchronousRequest」を使用せず、代わりに、didReceiveResponse、didReceiveDataなどのNSURLConnectionのデリゲートメソッドを使用することです。データを受信するたびに、ファイルに書き込み(または追加)します。

于 2013-06-29T07:44:20.130 に答える