I need to download a huge PDF file from an URL in my MonoTouch iPhone/iPad newsstand app.

The PDF is too big to fit in memory, so I need to save it incrementally with NSData.

My idea is the following: instead of appending all the downloaded data in NSData and at the very end of the download, when I got all data, to store it to a file, I want to execute the download asynchronously in a separate thread and append to a file each received chunk and free my memory, but be certain that if the connection is dropped or the app crashes the download would resume automatically from the last chunk without corrupting the file.

What do you suggest? Is there a better method? How can I do it in MonoTouch? I did't find any documentation or code example about iOS incremental download/resume on the Xamarin website.


Question: My server is up. Now where do I go from here?
Answer: You install SSH. 

sudo apt-get install ssh


Then you use it for administering the server from your Windows box (one popular SSH client is PuTTY), as well as for transferring files to and from via SFTP (not FTP). One SFTP client that I have used is FileZilla, there are many others.