In fact, nothing happens when the connection is dropped (at least when I manually disable Wi-Fi on my iPad). My delegate's didFinishSelector is not called. Then when I re-enable Wi-Fi, my progress callback fires again but with bytesWritten back to 0. In fact it seems to me that this situation is handled directly by NSURLSession, not by Google API.
The strange thing is that even when I manually stop the download, by calling [fetcher stopFetching] after having set fetcher.resumeDataBlock, resumeDataBlock is called with a nil resumeData. I think I am missing something here... It looks like the API supports resuming from a partial download, but Drive is not supporting it??
Maybe I should only download chunks of fixed size with the method you suggested (byte range header), then concatenate them manually? There is GTMSessionUploadFetcher that seems to do this automatically for upload, but nothing for downloads???
Thanks