>使用[EKEvent eventWithEventStore:]创建一个EKEvent并填写一堆其属性
>使用[myEvent addAlarm:[EKAlarm alarmWithrelativeOffset:]]添加警报
>使用[myEventStore saveEvent:span:error:]保存事件
关于整个过程的唯一“不寻常”的事情是,我使用的是旧版iOS手机(iPhone 4上的iOS4.3.3),而且我正在使用的所有日历都会同步到Google日历.
我有一个日历(我们称之为Calendara),它在Google日历中设置为新事件提供30分钟的自动警报,而另一个日历(CalendarB)则没有设置为任何自动警报.
这是我看到的破碎行为:
>当我向Calendara添加具有某种非零relativeOffset(例如5分钟)的EKAlarm时,日历会忽略我的偏移并将其设置为30分钟
>当我在CalendarB中执行相同 *** 作时,我的警报会被完全忽略,并且事件最终没有警报
有什么奇怪的:如果我将relativeOffset设置为零,那么一切都非常适合这种特殊情况! (在Calendara和CalendarB情况下,都正确添加了零偏移警报).顺便说一句,如果我根本不创建警报,Calendara中的事件仍然会发出30分钟的警报.我想对此没什么可做的.
我还尝试在事件创建后立即保存事件,然后立即向已保存的实例添加警报并再次保存.这没有用.
如果我通过手机上的原生日历应用程序手动创建带有警报的事件,则警报可以很好地工作,因此我知道可以将任意警报同步到Google日历 – 问题是如何通过代码执行此 *** 作.
如何使我的事件警报正常运行?
解决方法 这在iOS 4.2上对我有用,看看它是否对你有所帮助EKEventStore* eventStore = [[EKEventStore alloc] init]; EKEvent* event = [EKEvent eventWithEventStore:eventStore]; // set startDate,endDate,Title,location,etc.[event addAlarm:[EKAlarm alarmWithrelativeOffset:60.0f * -5.0f]]; // 5 min[event setCalendar:[eventStore defaultCalendarForNewEvents]];NSError* error = nil;BOol success = [eventStore saveEvent:event span:EKSpanThisEvent error:&error];总结
以上是内存溢出为你收集整理的事件警报未在EventKit中正确创建,iOS4.3 /日历同步到Google日历全部内容,希望文章能够帮你解决事件警报未在EventKit中正确创建,iOS4.3 /日历同步到Google日历所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)