NSURLErrorDomain错误-1021
我正在开发一个应用程序,我集成了Dropbox。 login正确完成,我也能够在dropBox中创build文件夹。 但是,当我尝试加载文件,我得到错误
以下错误我越来越
error making request to /1/files_put/dropbox/Info.plist - Error Domain=NSURLErrorDomain Code=-1021 "The operation couldn't be completed. (NSURLErrorDomain error -1021.)" UserInfo=0x6859bc0 {destinationPath=/Info.plist, sourcePath=/Users/bcod/Library/Application Support/iPhone Simulator/5.0/Applications/0E1EE43C-8F6B-40FA-8696-D3992DA2DCE5/DBRoulette.app/Info.plist}
当我创build文件夹时,我没有收到这个错误。
我在iPhone上有与iOS 5.0相同的问题,但iPhone 6.1模拟器没有创build错误消息工作。
我看了一下DropboxSDK / DBRestClient.m,特别是uploadFile:toPath:fromPath:params的最后一行,并在DBRequest上实现了一个类ExBody来添加连接:needNewBodyStream方法:
#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
这对我有效。 该方法在iOS5上调用,而不是在iOS6上调用!
错误-1021是一个NSURLErrorRequestBodyStreamExhausted
错误。
根据文档你缺less一个委托方法:
NSURLErrorRequestBodyStreamExhausted
当需要正文stream时返回,但客户端不提供。 这会影响使用正文stream发送POST请求的iOS客户端,但不会实现NSURLConnection委托方法连接:needNewBodyStream。 在OS X v10.7及更高版本中可用。