mailcore2 imap Ошибка домена = код MCOErrorDomain =5

Я, в свою очередь, делаю соответствующие проблемы mailcore2, основанные на прошлых ошибках и всей общей информации, или не нашел решения этой проблемы ниже, так что проблема, с которой я столкнулся, перераспределяется, также надеюсь получить дополнительную помощь, спасибо!

Mailcore2 using the code below:
self.imapSession = [[MCOIMAPSession alloc] init];
self.imapSession.hostname = hostname;
self.imapSession.port = 993;
self.imapSession.username = username;
self.imapSession.password = password;
if (oauth2Token != nil) {
    self.imapSession.OAuth2Token = oauth2Token;
    self.imapSession.authType = MCOAuthTypeXOAuth2;
}
self.imapSession.connectionType = MCOConnectionTypeTLS;
MasterViewController * __weak weakSelf = self;
self.imapSession.connectionLogger = ^(void * connectionID, MCOConnectionLogType type, NSData * data) {
    @synchronized(weakSelf) {
        if (type != MCOConnectionLogTypeSentPrivate) {
            NSLog(@"event logged:%p %i withData: %@", connectionID, type, [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]);
        }
    }
};

// Reset the inbox
self.messages = nil;
self.totalNumberOfInboxMessages = -1;
self.isLoading = NO;
self.messagePreviews = [NSMutableDictionary dictionary];
[self.tableView reloadData];

NSLog(@"checking account");
self.imapCheckOp = [self.imapSession checkAccountOperation];
[self.imapCheckOp start:^(NSError *error) {
    MasterViewController *strongSelf = weakSelf;
    NSLog(@"finished checking account.");
    if (error == nil) {
        [strongSelf loadLastNMessages:NUMBER_OF_MESSAGES_TO_LOAD];
    } else {
        NSLog(@"error loading account: %@", error);
    }

    strongSelf.imapCheckOp = nil;
}];

Когда я использую оборудование iOS8.1, появляется сообщение об ошибке, вывод консоли:

checking account
2015-02-15 10:58:36.712 MailCoreTest[11971:2988194] event logged:0x166a4d50 0 withData: * OK [CAPABILITY IMAP4 IMAP4rev1 IDLE XAPPLEPUSHSERVICE ID UIDPLUS AUTH=LOGIN NAMESPACE] QQMail IMAP4Server ready

2015-02-15 10:58:36.821 MailCoreTest[11971:2988194] event logged:0x166a4d50 0 withData: (null)
2015-02-15 10:58:36.824 MailCoreTest[11971:2988128] finished checking account.
2015-02-15 10:58:36.825 MailCoreTest[11971:2988128] error loading account: Error Domain=MCOErrorDomain Code=5 "Unable to authenticate with the current session's credentials." UserInfo=0x16596ec0 {NSLocalizedDescription=Unable to authenticate with the current session's credentials.}
But when I use iOS8.0 devices, console to print the results are as follows:
checking account
2015-02-15 11:22:53.249 MailCoreTest[7853:1742121] finished checking account.
2015-02-15 11:22:53.249 MailCoreTest[7853:1742121] error loading account: Error Domain=MCOErrorDomain Code=1 "A stable connection to the server could not be established." UserInfo=0x17e50ab0 {NSLocalizedDescription=A stable connection to the server could not be established.}

Пожалуйста, помогите мне, я связываюсь с Objective - C мало времени, но я должен сделать все возможное, чтобы быть агрессивным, все еще надеюсь дать подробное решение, еще раз искреннее спасибо, тяжелая работа!

1 ответ

Да, это проблема аутентификации, у меня была та же проблема с моим приложением, но раньше она работала нормально. После того, как я получил эту ошибку, я проверил свою учетную запись gmail, и было получено электронное письмо от Google с темой "Подозрительный вход запрещен", и этот вход был из CA, США. На самом деле Мое заявление было рассмотрено, поэтому оно было отклонено по этой причине.

Затем я обнаружил, что gmail отключает неавторизованные IP-адреса.

Вы должны включить двухэтапную проверку для учетной записи Gmail, чтобы решить эту проблему и сгенерировать специальный пароль для приложения. Используйте этот пароль в вашем приложении, и он будет работать нормально.

Перейдите по ссылке Google, чтобы создать пароль для приложения.

https://support.google.com/mail/answer/1173270?hl=en

Другие вопросы по тегам