我正在为日历应用程序构建服务器端。客户端仅限iOS。最初的计划是应用程序将知道iCal事件更改然后告诉服务器。但这可能是提醒的问题(通过Parse Push)。例如,如果事件推进,则提醒应该更早。
是否可以从服务器端通知iCal事件?例如,当用户创建/更新/删除iCal事件时,我想从服务器获知该信息以获取此信息。这可能吗?或者一切都需要通过运行的本机应用程序完成吗?
我的服务器目前在parse.com上。但如果需要,我可以使用单独的服务器说NodeJS。
答案 0 :(得分:5)
由于iCal依赖于用户/设备,除非用户已使用iCloud同步其日历事件。在用户激活日历事件同步的第二种情况下,最终用户将其icloud详细信息共享给其他服务器是完全不安全的。
如何在后端创建1个API,它将更新/删除来自Apps的日历事件请求,并在后台进程中更新Parse通知事件。为此,您还可以在NodeJS或任何其他技术堆栈中编写自定义的Parse apis。
在应用中,您可以使用Event Kit将事件与iCal同步:
答案 1 :(得分:3)
首先,您需要让iOS唤醒您在后台运行的应用,这需要将您的应用分类为Apple Background Execution中所述的模式之一,我认为"背景取"在您的情况下是合适的,然后在application:performFetchWithCompletionHandler:
中,您可以检查日历数据库中是否有更改的事件,并对服务器执行必要的更新。
答案 2 :(得分:1)
我认为这是你最好的选择: https://stackoverflow.com/a/23997912/1967872
在您的答案中提到的storeChanged:
方法的实现中,您应该遍历所有事件,检测所有更改并将其提交给服务器。
答案 3 :(得分:0)
我不知道确切的可能与否,但我认为这很难,因为我仍然没有找到任何库/苹果提供的任何功能。 但我正在提供一个可能对您有所帮助的链接。请检查一下。