iOS IMAP 同步与 MailCore 最佳实践
Posted
技术标签:
【中文标题】iOS IMAP 同步与 MailCore 最佳实践【英文标题】:iOS IMAP Synchronization With MailCore Best Practices 【发布时间】:2013-01-18 18:04:15 【问题描述】:我正在开发一个应用程序,其中本地 Core Data 数据库与用户的 IMAP 电子邮件帐户保持同步。我正在使用 MailCore (http://libmailcore.com) 来处理所有 IMAP API 调用,但似乎有一些缺点。以下是我希望我的应用能够执行的操作:
在服务器上拥有最近 50 封电子邮件的本地副本 下载自上次提取以来用户收到的所有新电子邮件,设备上最多保留 50 封。 删除服务器上已删除的本地邮件。MailCore 提供的用于检索电子邮件的唯一方法如下:
- (NSArray *)messagesFromSequenceNumber:(NSUInteger)startNum to:(NSUInteger)endNum withFetchAttributes:(CTFetchAttributes)attrs
- (NSArray *)messagesFromUID:(NSUInteger)startUID to:(NSUInteger)endUID withFetchAttributes:(CTFetchAttributes)attrs
现在,我正在从服务器检索最新的电子邮件并下载有关它们的所有信息,然后我从服务器检索最新的 50 个 UID,并将它们与我的本地缓存进行比较,以查看已删除的内容。这似乎非常低效。有没有更好的方法来同步收件箱而无需两次往返服务器(至少)?
【问题讨论】:
我们也在使用 mailcore,由于它的文档很差,我们甚至无法找到简单的任务,比如获取电子邮件的所有标题。愿你帮助我们 【参考方案1】:检查 imap 服务器功能。 NOOP 和 imap 空闲功能的实现是您查询的答案。
【讨论】:
以上是关于iOS IMAP 同步与 MailCore 最佳实践的主要内容,如果未能解决你的问题,请参考以下文章
mailcore2 imap 错误域=MCOErrorDomain 代码=5