2009-03-15 11 views
1

iPhoneアプリでは、WebからiPhoneにファイルをダウンロードしてディスクに保存するコードがあります。大きなファイルをWebからiPhoneにダウンロードしてディスクに書き込むための最良の方法

ファイルがの場合、の場合、アプリのメモリ使用量とアプリケーションがクラッシュするという問題があります。

私は「正しい」方法ではないと確信しています。

mediaData = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:path]]; 
[mediaData writeToFile:fullPath atomically:YES]; 
[mediaData release]; 

私はこのアプリがクラッシュしたとして、絵のようなもののために動作しますが、ないビデオクリップを言うようなもののために述べたように:

は現在、私は次のよう持っています。

私のアプリをクラッシュさせないためにこれを行う適切な方法は何ですか? 私の考えはソケットかも知れませんでしたが、ソケットプログラミングをあまりしていないので、わかりません。

おかげ

答えて

5

あなたは非同期に実行され、管理しやすいチャンクでデータを配信するNSURLConnectionを使用することができます。 NSURLDownloadとして

+2

あなたはまた、それが入って来てディスクにデータを書き込むことがNSFileHandleのようなAPIを使用したいの もちろん、ビデオクリップのために、あなたは映画を使ったほうが良いではないでしょうプレーヤーのビルトインダウンロードサポート? –

+0

いいえ、将来の使用のためにビデオを保存することを許可しないため – kdbdallas

+0

NSFileHandleとのNSURLConnectionが答えです。 NSURLConnectionだけでもクラッシュしました。 – kdbdallas

関連する問題