iOS Dropbox SDK на устройстве не удается войти с NSURLErrorDomain - PullRequest
1 голос
/ 13 апреля 2011

ОБНОВЛЕНИЕ: настройка Dropbox SDK на использование HTTP вместо HTTPS решает эту проблему на iPhone 3G.Я еще не использовал SDK на iPhone 4 или iPad, поэтому не уверен в результате.

Игра с Dropbox SDK на iOS дает такие результаты: в симуляторе я могу правильно связать свой аккаунт, используяпредоставленный класс формы входа.Изменяя настройку сборки на устройство, я получаю сообщение об ошибке alertView, запускаемое этим методом в DBLoginController.m

- (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 {
        //...

Форма входа отображается так, как указано в прилагаемом примере проекта:

-(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];
    }

}

Я не уверен, что с этим делать.Документы Apple предполагают, что NSURLErrorDomain определен как системные ошибки загрузки NSURL.Кто-нибудь может пролить свет на это?

1 Ответ

1 голос
/ 16 апреля 2011

То, на что вы должны смотреть, это error.code или лучше [error localizedDescription]

NSURLErrorDomain - это обширный домен ошибок:

Константы, используемые NSError для различения "доменов" кодов ошибок, служащих в качестве дискриминатора для кодов ошибок, которые происходят из разных подсистем или источников

Ошибка в NSURLErrorDomain может быть почти любой: разрыв соединения, прокси-сервер, ошибки сертификата ... Найдите NSURLError на этой странице документации apple .

...