2015-11-03 82 views
0

我在iOS中使用EventKit與Calendar.app進行交互。在一種情況下,我需要從我的應用中刪除日曆。所以我使用EventStore.removeCalendar(_:Commit :)函數,將commit設置爲true。我試圖刪除的日曆是iCloud日曆。EventKit:刪除的日曆重新出現

但是,我發現日曆被刪除後,它自己又重新出現了。我肯定的是,將日曆添加回來並不是我的錯,因爲我只有一個關於在我的應用中創建日曆的功能,並且在刪除和重新出現之間不會調用它。

我懷疑是iCloud會自動加回來的。我試圖在刪除之前進入飛行模式,並且刪除的日曆不會再出現。

有沒有人遇到過類似的問題?如果是這樣,我怎麼能告訴iCloud我想刪除日曆,所以不要加回來。

謝謝。

回答

0

您不能告訴iCloud不要添加日曆。我的猜測是,當iCloud同步來自不同設備的東西(包括給定日曆中的更新)時,它會將這些視爲更高優先級,從而將日曆添加回來。

這是偶爾在我通過「日曆」應用程序刪除日曆時發生的事情,所以簡短的回答是您無法強制日曆保持刪除狀態。

+0

感謝您的回答。如果是這樣的話,這意味着3方應用程序可以輕鬆刪除iCloud日曆嗎?我認爲API應該足夠聰明,讓iCloud知道這是用戶啓動的刪除,因此它可以在所有設備上刪除相同的日曆。 – Steve

+0

我的經驗是,如果我從calendar.app中刪除日曆,iCloud不會將其恢復。我認爲應該有一種方法來使用EventKit API實現同樣的功能。 – Steve

+0

如果通過calendar.app刪除日曆,則可以在收到來自其他設備的延遲同步(例如,互聯網連接關閉)的情況下將其恢復。 –