簡體   English   中英

EventKit同步問題

[英]EventKit synchronization questions

在我的應用中,我正在使用EventKit API來訪問設備上的日歷,並將其顯示在視圖中。 但是,在使用網絡日歷時,我懷疑EKEventStore在查詢時只會返回某種緩存/本地事件列表,而不是重新加載日歷並返回實際/最新內容。
相反,當啟動本機日歷應用程序時,該應用程序將刷新/重新加載所有日歷,從而同步所有網絡共享日歷。 現在,回到我的應用程序還將顯示新同步的事件。

除此之外,我發現通過我的應用程序和EventKit / EventKitUI修改任何事件(刪除/更新)都不會同步回Mac日歷。

簡而言之:在EventKit / iOS SDK中,是否有任何方法可以強制與網絡共享日歷同步?

  1. 您可以使用EKEventStore實例的-(void)refreshSourcesIfNecessary方法執行EKEventStore操作:

    ...如果本地數據已過期,請從遠程源中提取新數據。

    這將通過獲取最新的遠程數據來強制更新本地日歷存儲。 我感覺這是本機iOS日歷應用程序用來提示更新的方法。

  2. 至於刪除和更新的日歷事件無法同步到Mac的問題,您確定修改后確定在EKEventStore實例上調用-(void)commit:嗎?

    另外, EKEventStore有多種方法可以保存和刪除日歷和事件,這些日歷和事件還提供可以立即提交更改的commit參數。 我會發布鏈接,但作為新用戶,我只能使用兩個超鏈接。

    - (void)saveEvent:span:commit:error:
    - (void)removeEvent:span:commit:error:

    假設這些事件已添加到基於雲的日歷中,則應該具有將更改同步到Mac的效果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM