我正在使用iOS(目标C)中的Mail Core 2,能够成功提取电子邮件。但是我遇到的问题很少,我停下来了。
我正在尝试找出几种情况,以下是这些情况,
我第一次启动应用程序时,“邮件收件箱”中有6000封电子邮件,已提取1000封电子邮件并存储在本地数据库中。现在,我将在移动设备中关闭我的应用程序。
第二次,我将再次在手机中打开我的应用程序。在这里我有几个疑问, 由于我已经下载了1000封电子邮件,因此我将尝试下载剩余的电子邮件(5000)。
但是,如果对这1000封电子邮件进行了任何更改,我怎么知道,如何检测更改/删除了哪些电子邮件内容?
我是否需要再次下载所有电子邮件,并且必须与MailCore响应电子邮件交叉检查Local DB中的每封电子邮件。
我将使我的应用程序处于空闲状态,我如何知道是否收到任何新电子邮件。在这里,我尝试使用MCOIMAPIdleOpeartion,但是我无法获取任何回调,因此它阻止了fetchMessagesMethos ,如果我使用MCOIMAPIdleOperation,则无法获取消息。下面是我正在使用的代码
session = [[MCOIMAPSession alloc]init];
session.hostname = @"imap.gmail.com";
session.username = userName;
session.password = pwd;
session.port = 993;
session.authType = MCOAuthTypeSASLPlain;
session.connectionType = MCOConnectionTypeTLS;
NSString *valueToSave = session.username;
MCOIMAPIdleOperation *idleOperation = [session idleOperationWithFolder:@"INBOX" lastKnownUID:0];
self.idleOperation = idleOperation;
[idleOperation start:[self idleHandler]];
在上述lastKnowUID代码中,我将值硬编码为'0',但我必须是动态的。无论如何,我会让它充满活力。
结论:我无法找到下载电子邮件时应遵循的体系结构,以及当应用程序处于空闲状态时如何获取新电子邮件。