问题标签 [ekcalendar]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
222 浏览

ios - 我们可以通过编程方式创建自己的默认日历吗?

我在创建日历时遇到问题,我已从 iCloud 注销以删除所有其他合并的日历。现在,只剩下 Gmail 和 yahoo 日历,而 gmail 是我的默认日历。我想创建自己的日历并将其标记为默认但不能。

我用它eventStore.defaultCalendarForNewEvents.source来为我新创建的日历分配源并得到一些像这样的错误

“此来源不允许编辑内容等。”

虽然这段代码返回 trueprint(eventStore.defaultCalendarForNewEvents.allowsContentModifications)

有没有创建自己的方法,因为我们可以看到其他应用程序,即谷歌、雅虎等已经创建了自己的。这是创建新日历的代码

谢谢

0 投票
2 回答
641 浏览

ios - 如何正确获取一组 EKCalendars

我现在开发一个显示 iCloud EKCalendars 列表的 iOS 应用程序。我的快速代码可以获得一组 iCloud EKCalendars,但顺序总是不同。任何人都可以给我建议以使设置井井有条吗?

代码结果示例:

0 投票
2 回答
3931 浏览

ios - Swift 4 如何从日历中获取所有事件?

我正在使用 Swift 4.1。我想编写一个函数来收集 iOS 日历应用程序中所有日历中的所有事件。感谢stackoverflow上的这个答案:How to get all Events out of a Calendar (Swift)我能够自己编写class并调用它Cale。请看这个:

非常简单的类,您可以使用它,它可以工作,但有一个例外。主要功能get()在此功能中,我根据两个日期创建谓词:开始和结束。如您所见,开始日期是:

2016-01-01 00:00:00 +0000

结束日期是:

2025-01-01 00:00:00 +0000

但是如果我们运行程序,我们会看到谓词是这样的:

CADEventPredicate 开始:01/01/2016, 03:00; 结束:01/01/2020, 03:00; 卡尔斯:(2)

仅从2016年到2020年,4年!我已经在不同的日期对其进行了测试,但我可以得到最大间隔为 4 年的谓词。这意味着,它不会给我所有的事件!所以问题是:如何从日历中获取所有事件?如果可能,不使用日期!

感谢您对未来的任何帮助或建议!

0 投票
1 回答
339 浏览

swift - EKCalendar 显示 Apple 日历中没有的事件“以自然语言发现”

我目前正在阅读功能类似于此处描述的所有日历事件:https ://www.andrewcbancroft.com/2016/04/28/listing-calendar-events-with-event-kit-and-swift/

IE

现在,在我运行 iOS 12.1.1 的 iPhone X 上,这给了我一个名为“以自然语言发现”的日历的各种事件。我知道这些应该是 Siri 在邮件等应用程序中发现的事件。我在 iPhone 设置 -> 日历下打开了这个选项。然而,奇怪的是苹果的 iOS 日历并没有显示这些事件,即使通过 Siri 找到的日历是打开的。某些日历应用程序(例如 Fantastical)也不会显示它们,而其他一些应用程序(例如 Vantage 日历)会显示它们。

这个怎么可能?

0 投票
1 回答
78 浏览

ios - 如何在 iOS 中仅获取可见日历

我正在尝试使用 Swift 仅从 iOS 获取可见日历。我可以获得可用日历的完整列表,但我不知道设备中显示的是哪一个。我只想使用这些日历,而不是创建另一个选定日历的列表,而是使用系统中已经存在的列表。

任何人都知道我是否可以获得任何属性或任何方法?EKCalendar似乎没有任何有用的东西。

任何帮助将非常感激。

0 投票
0 回答
140 浏览

swift - 继承自 EKCalendarItem

因为 EKEvent 不能保存额外的属性,所以我正在考虑创建自己的 Event 类并从 EKCalendarItem 继承(与 EKEvent 类相同)。

但是我收到了一个 FrozenClass 错误,这对我来说很新鲜。有人知道这意味着什么吗?EKCalendarItem 是一个开放类,据我所知,我应该能够从中继承。或者……我错了吗?

确切的错误:

'+[MyApp.Event frozenClass]: 无法识别的选择器发送到类 0x105667068'

我的代码:

}

0 投票
0 回答
89 浏览

swift - 无法保存 EKEvent,因为日历缺少默认组织者

我正在尝试将新的保存到我创建EKEvent的新本地日历中:

我返回日历标识符并创建一个新的 EKEvent 并保存:

这失败并显示错误消息:

错误域 = EKErrorDomain 代码 = 54 “日历没有默认组织者。”

根据 Apple 的说法,您不能只使用现有的 EKSource 来创建新日历来创建新的 EKSource。. 就我而言,唯一的本地日历不包含任何EKOrganizer信息,因此无法保存。有关如何解决此问题的任何建议?

更新:还应该补充一点,我试图通过 EKEvent.organizer 添加一个组织者,但这是一个只读属性,并从创建日历时使用的 EKSource 获取其信息。

0 投票
2 回答
72 浏览

ios - 如何区分通过我的应用程序保存的事件和使用 EventKit 使用日历应用程序保存的事件?

我已经成功地将我的应用程序的事件保存到本地日历,Eventkit但现在我想删除我只使用我的应用程序保存的事件。但是下面的代码给了我保存在日历上的所有事件的列表,但我只想删除我自己保存的事件。我怎样才能做到这一点?

0 投票
0 回答
67 浏览

swift - Cannot delete EKCalendar, get Error Domain=EKErrorDomain Code=72

I would like to delete an EKCalendar. This works fine on iOS devices and simulators, however trying to get this working on Catalina is problematic. Whatever I try I get this:

Error Domain=EKErrorDomain Code=72 "Can't delete a calendar if doing so would leave the account with no calendars which are eligible to be the default scheduling calendar." UserInfo={NSLocalizedDescription=Can't delete a calendar if doing so would leave the account with no calendars which are eligible to be the default scheduling calendar.}

Any pointers? I have been chasing this for weeks! Thanks!

I have been granted permission for both Calendars and Reminders:

0 投票
2 回答
166 浏览

ios - 如何识别 EKCalendar 以存储用户日历选择

在使用用户日历时,我实现了一个 EKCalendarChooser,它允许用户选择他的多个日历。选定的日历实例被检索得很好。现在我稍后想使用此选择,但如何永久存储它?

在此处输入图像描述

我的第一种方法是使用日历标识符并将它们作为字符串数组存储到 UserDefaults 中,例如

不幸的是,这不起作用,因为calendarIdentifier它不是永久标识符,因此会随着时间而改变。正如苹果在其文档中所述:

与日历完全同步将丢失此标识符。你应该有一个计划来处理一个日历,它的标识符不再可以通过缓存它的其他属性来获取。

那么如何存储用户对其日历的选择呢?