【问题标题】:XCode: Why is my event not being added to the calendar?XCode:为什么我的活动没有添加到日历中?
【发布时间】:2011-10-10 20:02:31
【问题描述】:

我已将以下代码添加到我的应用程序中:

NSDate * selected = [DatePicker date];
NSString * date = [selected description];

NSDateComponents *components = [[NSCalendar currentCalendar] components:NSDayCalendarUnit 
                                                              fromDate:DatePicker.date];

CalLabel1.text = [NSString stringWithFormat:@"%d", [components day]];

EKEventStore *store = [[EKEventStore alloc] init];

EKEvent *event = [EKEvent eventWithEventStore:store];
event.title = @"Test Event";
//required
event.startDate = [DatePicker date];
event.endDate = [DatePicker date];
event.calendar = store.defaultCalendarForNewEvents;
//end

NSError *err;
[store saveEvent:event span:EKSpanThisEvent error:&err];

为什么这不会在 iOS 日历中添加任何内容?

谢谢。

【问题讨论】:

  • 您检查过错误吗?如果将 saveEvent 调用包装在 if not 检查中,则可以NSLog(@"%@", err); 看看它失败的原因。
  • 它说:Error Domain=EKErrorDomain Code=3“没有设置结束日期。” UserInfo=0x178fe0 {NSLocalizedDescription=未设置结束日期。}

标签: objective-c ios xcode uidatepicker eventkit


【解决方案1】:

您的活动需要一个有效的时间跨度才能保存。试试这个

event.startDate = selected;
event.endDate = [selected dateByAddingTimeInterval:30*60]; //30 minutes for example

【讨论】:

  • 再一次,非常感谢您-您非常乐于助人!这一切都对我有用......非常感谢:-)
猜你喜欢
  • 1970-01-01
  • 2012-04-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多