草庐IT

ios - 适当情况下创建新的EKCalendar iOS

我正在开发一个创建、更新和删除EKEvents的iOS应用程序。这可以通过将事件保存到EKEventStore.defaultCalendarForNewEvents来轻松完成。在什么情况下我想为我自己的应用程序创建一个新的EKCalendar,这需要什么功能?我问这个问题是因为我目前正在尝试在Swift3.0中创建一个日历,但它总是失败,这让我开始思考新日历的最初目的是什么。fileprivatevareventStore=EKEventStore()fileprivatevarnewCalendar:EKCalendar?funccreateNewCalendar(){self.n

ios - 事件(带有标识符 :) fails after application restart

我正在使用EventKit创建和删除日历(EKEvent)事件。我的代码非常基础,创建一个EKEventStore()并使用保存添加一个新事件(EKEvent)。稍后在某些特定情况下,使用event(withIdentifier:)从eventStore中获取事件并删除。在应用重新启动之前一切正常。当尝试获取在应用程序之前运行时保存的事件时,获取返回nil,但有异常:2018-01-2620:26:30.532019+0200MyApplication[1029:329807][EventKit]Errorgettingeventwithidentifier174799E7-BD04-

ios - 处理 EKEvent.recurrenceRule 属性的删除

Apple最近从iOS6Api中删除了recurrenceRule属性,所以我收到一个编译器错误,指出在EKEvent类型的对象上找不到它。但是,替代品(recurrenceRules)直到iOS5才添加。如果我们想支持iOS编辑:我向EKEvent添加了一个类别,它重新定义了recurrenceRule属性,这会导致应用被拒绝吗? 最佳答案 这个怎么样:EKEvent*myEvent=...;if([myEventrespondsToSelector:@selector(recurrenceRule)]){EKRecurrence

iOS:使用不可编辑的事件创建日历?

是否可以通过应用程序以编程方式创建包含不可编辑事件的日历?或者,尽可能接近实现这一目标的最佳方法是什么?例如,Facebook事件有一个独特的“事件详细信息”屏幕,其中包含自定义详细信息。用户无法从iCal编辑事件,而是必须单击“在Facebook上查看”。1)我探索过创建本地日历和iCloud日历,但用户可以轻松地从iCal编辑事件和日历,包括删除它们。2)在应用程序中,我似乎无法创建一个新的EKSource来完全控制我在该源中创建的日历。在现有CalDAV源中创建新日历也不会使其显示。3)EKCalendar类有一个allowsContentModifications属性,但它是只

ios - EKEventKit - 如何在批量提交后检索 eventIdentifier?

我在保存大量ekEvents后进行批量提交。我需要为每个EKEvent检索eventIdentifier。但它在提交后没有显示。我知道用保存它commit:NO不会产生eventIdentifier。但肯定在发出提交后,应该填写eventIdentifier。基本上,我的应用程序必须从网络服务中检索一堆日历事件数据并将其保存在设备上。不幸的是,抛出的数据量最多可达1000个事件。起初我用的是这个:[self.ekEventStoresaveEvent:ekEventspan:EKSpanFutureEventscommit:YESerror:&error];但抛出到设备的数据量导致EK

ios - EKEvent <!ExceptionDate!> 与 RID

我有iOS应用程序(写在objective-c上),它处理日历中的事件。我看到的一些奇怪的事情是,在经常性session的变化中,在大多数情况下,calendarItemExternalIdentifier字段已更改,并且添加了/RID=XXXXXXX部分,但在某些情况下,我收到相同的calendarItemExternalIdentifier,最后添加了20161205.例如我有这样的外部标识符:oiok2qp12o6k3d2ru34v885njo@google.com在更改时我可以收到这个:oiok2qp12o6k3d2ru34v885njo@google.com/RID=5052

ios - EKEventStore - 该事件不属于该事件存储

我根本无法保存我的提醒/事件。但是,我已被授予使用提醒的权限(我检查了设置)。我已经打印出错误,它说Thateventdoesnotbelongtothateventstore.这是我的代码;-(void)viewDidLoad{[superviewDidLoad];//Doanyadditionalsetupafterloadingtheview.self.eventStore=[[EKEventStorealloc]init];self.eventStoreAccessGranted=NO;[self.eventStorerequestAccessToEntityType:EKEn

ios - 即使 EKEvent.hasNotes 返回 YES,EKEvent.notes 也会返回 (null)

我正在使用Xcode6.0.1,使用EventKit制作测试应用。以下代码成功地填充了每个事件的标题,但即使hasNotes属性返回YES,其注释也会返回为(null)。而且,我可以在iPhone的默认日历应用程序上看到同一事件的注释。我做错了什么?-(void)viewDidLoad{[superviewDidLoad];[eventStorerequestAccessToEntityType:EKEntityTypeEventcompletion:^(BOOLgranted,NSError*error){dispatch_async(dispatch_get_main_queue(

ios - 将 EKParticipants 添加到 EKEvent

我想以编程方式将参与者添加到iOS上的EKEvent。EKParticipant的类引用状态“您不直接创建EKParticipant对象。将与会者发送到EKEvent对象以获取一组EKParticipant个对象。”。EKEvent的类引用声明“与会者”成员(NSArray)是“与事件关联的与会者,作为EKParticipant对象。(只读)” 最佳答案 不可能。这是Apple故意设计的,因此只有用户才能创建或编辑session的受邀者。唯一的方法是显示一个EKEventEditViewController并让用户自己编辑列表。你可

ios - 如何将给定的日期 "20110912T220000"(NSString) 转换为 NSDate

我正在获取“20110912T220000”格式的日历事件的开始和结束日期(在解析.ics文件时)。如何将其转换为NSDate以添加为事件(EKEvent)的startDate属性。如果有人知道请尽快帮助我。 最佳答案 你应该为此使用NSDateFormatter。参见DataFormattingGuide(Date&TimeProgrammingGuide也可能很有趣)这在thisTechnicalNote中也有详细说明在Apple的问答中。请注意,对于这种情况,您应该使用特殊的“en_US_POSIX”语言环境,如本技术说明中所