NSURLErrorDomain错误-1021

时间:2013-04-20 06:06:58

标签: ios iphone dropbox nsurl nsurlerrordomain

我正在开发一个应用程序,我集成了Dropbox。登录正确完成我也可以在dropBox中创建文件夹。但是,当我尝试加载文件时,我收到错误

以下错误我正在

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}

我在创建文件夹时没有收到此错误。

2 个答案:

答案 0 :(得分:7)

我在iPhone上遇到了与iOS 5.0相同的问题,但iPhone 6.1模拟器无法创建错误消息。

我查看了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上调用!

答案 1 :(得分:4)

错误-1021是NSURLErrorRequestBodyStreamExhausted错误。

根据documentation您缺少委托方法:

  

<强> NSURLErrorRequestBodyStreamExhausted
  身体流时返回   需要但客户不提供。这会影响客户   使用正文流发送POST请求但未实现的iOS   NSURLConnection委托方法连接:needNewBodyStream。   适用于OS X v10.7及更高版本。