Usage: HCDownloadViewController *dlvc = [[HCDownloadViewController alloc] init]; dlvc.downloadDirectory = @"/var/mobile/Library/Downloads"; dlvc.delegate = self; [dlvc downloadURL:[NSURL URLWithString:@"http://megaupload.com/piratedSong.mp3"] userInfo:nil]; userInfo is an NSDictionary with arbitrary values, it can even be nil. However, some special keys are respected by the view controller: kHCDownloadKeyTitle corresponds to an NSString which will be used as the title of the download in the table view instead of the file name, and kHCDownloadKeyImage must correspond to an UIImage (if present) that will be displayed in the left side of the table view cell. kHCDownloadKeyFileName shall specify an NSString (if any) that contains a valid filename, to which the downloaded data is to be saved. If not present, the filename suggested by the server will be used. To inspect the number of downloads currently in progress, use dlvc.numberOfDownloads. To respond to download events, implement the optional delegate methods: - (void)downloadController:(HCDownloadViewController *)vc startedDownloadingURL:(NSURL *)url userInfo:(NSDictionary *)userInfo; - (void)downloadController:(HCDownloadViewController *)vc dowloadedFromURL:(NSURL *)url progress:(float)progress userInfo:(NSDictionary *)userInfo; - (void)downloadController:(HCDownloadViewController *)vc finishedDownloadingURL:(NSURL *)url toFile:(NSString *)fileName userInfo:(NSDictionary *)userInfo; - (void)downloadController:(HCDownloadViewController *)vc failedDownloadingURL:(NSURL *)url withError:(NSError *)error userInfo:(NSDictionary *)userInfo; Enjoy!