2013-02-04 86 views
1

我正在開發一個應用程序,其中本地核心數據數據庫與用戶的IMAP電子郵件帳戶保持同步。我正在使用MailCore(http://libmailcore.com)來處理所有IMAP API調用,但似乎存在一些缺陷。以下是我想我的應用程序能夠做到:iOS IMAP與MailCore最佳實踐同步

  • 有最近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,並將它們與本地緩存進行比較,以查看已刪除的內容。這看起來效率很低。有沒有更好的方法來同步收件箱而無需兩次往返服務器(至少)?

回答

0

檢查imap服務器的功能。 NOOP和imap空閒功能的實現是您查詢的答案。