 <p>NSURLConnection is great for getting a file from the web... It doesn't "wait" per se but its delegate callbacks:</p> <pre><code>- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data - (void)connectionDidFinishLoading:(NSURLConnection *)connection </code></pre> <p>...allow you to be notified when data has been received and when the data has been completely downloaded. This way you can have the App show (if you like) a UIProgressBar as the data comes in and then handle the file as you please when it is completely received. </p>