在iOS EventKit上以编程方式在线获取/更新谷歌日历数据

时间:2018-01-06 17:38:55

标签: ios calendar gmail fetch eventkit

我的iOS应用程序(iOS11)使用EventKit从iPhone日历中读取事件,效果很好。我读取的日历来自(免费)Gmail帐户。 iOS上的Google帐户不支持推送数据,只支持抓取。因此,只有在我打开内置iPhone日历应用程序时才会更新日历事件。

在我的应用中,我会不断显示当天的当前事件。计时器更新事件的显示。

我的问题如下:如果我在calendar.google.com上更改了日历中的某些事件,则只有在我第一次使用内置日历应用程序获取更改后,才会在我的应用中显示更改数据,然后切换回我的应用程序。

我的问题:有没有办法使用EventKit或其他机制强制在线强制获取日历数据,就像打开日历应用程序时那样?

PS:我已经尝试使用Exchange添加gmail帐户,这应该支持Push,但它不适用于免费的Gmail帐户。

PPS:如果我使用EventKit创建新事件,则会直接将其推送到Google,并立即在calendar.google.com上显示。这很棒,但对我没有帮助。

1 个答案:

答案 0 :(得分:0)

RefereshSources使用此选项 - 您可以在添加事件后在eventstore上调用force referesh。

EventStore.refreshSourcesIfNecessary()