设备上的iOS Dropbox SDK无法使用NSURLErrorDomain进行login

更新:设置Dropbox SDK使用HTTP而不是HTTPS在iPhone 3G上解决这个问题。 我还没有使用iPhone 4或iPad上的SDK,所以我不确定结果。

在iOS上使用Dropbox SDK会产生这些结果:在模拟器中,我可以使用提供的login表单类正确链接我的帐户。 将构build设置更改为设备,我在DBLoginController.m中获取由此方法触发的错误alertView

- (void)restClient:(DBRestClient*)client loginFailedWithError:(NSError*)error { [self setWorking:NO]; NSString* message; if ([error.domain isEqual:NSURLErrorDomain]) { message = @"There was an error connecting to Dropbox."; } else { //... 

login表单如下所示显示,如所包含的示例项目中所引用的:

 -(void)settingsPressed { if (![[DBSession sharedSession] isLinked]) { DBLoginController* controller = [[DBLoginController new] autorelease]; controller.delegate = self; [controller presentFromController:self]; } else { [[DBSession sharedSession] unlink]; [[[[UIAlertView alloc] initWithTitle:@"Account Unlinked!" message:@"Your dropbox account has been unlinked" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil] autorelease] show]; [self updateButtons]; } } 

我不知道该怎么做。 苹果文档build议NSURLErrorDomain被定义为NSURL加载系统错误。 任何人都可以阐明这一点?

你应该看看error.code或更好[error localizedDescription]

NSURLErrorDomain是一个巨大的错误域:

NSError用于区分错误代码的“域”的常量,用作源自不同子系统或源的错误代码的鉴别器

在NSURLErrorDomain中的错误可能几乎是任何东西,连接closures,代理,证书错误…在该苹果文档页面searchNSURLError