I\'m developing an app were I integrated dropbox. Login is done properly also I\'m able to create folder in dropBox. But when I try to load file I\'m getting error
F
I had the same problem with iOS 5.0 on iPhone, but the iPhone 6.1 simulator worked without creating error messages.
I took a look into the DropboxSDK / DBRestClient.m, especially the last lines of uploadFile:toPath:fromPath:params and implemented a categorie 'ExBody' on DBRequest to add the connection:needNewBodyStream method:
#import "DBRequest+ExBody.h"
@implementation DBRequest (ExBody)
#pragma mark NSURLConnection delegate methods
- (NSInputStream *)connection:(NSURLConnection *)connection needNewBodyStream:(NSURLRequest *)req {
NSString * sourcePath = [userInfo objectForKey:@"sourcePath"];
NSLog(@"%@ needs newBodyStream!", sourcePath);
return [NSInputStream inputStreamWithFileAtPath:sourcePath];
}
@end
This worked for me. The method is called on iOS5, not on iOS6!
Error -1021 is a NSURLErrorRequestBodyStreamExhausted
error.
According to the documentation you're missing a delegate method:
NSURLErrorRequestBodyStreamExhausted
Returned when a body stream is needed but the client does not provide one. This impacts clients on iOS that send a POST request using a body stream but do not implement the NSURLConnection delegate method connection:needNewBodyStream. Available in OS X v10.7 and later.