2016-09-07 77 views
4

帮助创建并保存Icloud日历事件。保存之后,我有错误:加载对象x-apple-eventkit的默认属性时出错

Error loading default properties for object x-apple-eventkit:///Alarm/p252 from daemon: Error Domain=EKCADErrorDomain Code=1010 "(null)" 



Error loading to-one relation originalAlarm from daemon: Error Domain=EKCADErrorDomain Code=1010 "(null)" 

我的代码:

NSDateFormatter *dateFromater = [[NSDateFormatter alloc]init]; 
NSTimeZone * timeZone = [NSTimeZone localTimeZone]; 
[dateFromater setTimeZone:timeZone]; 
[dateFromater setDateFormat:@"Y-MM-d'T'HH:mm:ss'.000Z'"]; 
EKEventStore* evStore = [[EKEventStore alloc]init]; 
[evStore requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError * _Nullable error) { 

    EKEvent * event = [EKEvent eventWithEventStore:evStore]; 


    event.location=[dictionry valueForKey:@"location"]; 
    event.title = [dictionry valueForKey:@"eventName"]; 
    event.notes = [dictionry valueForKey:@"description"]; 

    NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; 
    [formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"]; 
    NSString *str = [formatter stringFromDate:[NSDate date]]; 


    event.startDate = [formatter dateFromString:[dictionry valueForKey:@"eventDate"]]; //[dictionry valueForKey:@"eventDate"]; 
    event.endDate = [event.startDate dateByAddingTimeInterval:60]; 

    EKAlarm *ekAlarm = [EKAlarm alarmWithRelativeOffset:-60]; 
    [event addAlarm:ekAlarm]; 

    RLMResults *object = [RealmUser allObjects]; 
    self.user= [object firstObject]; 
    event.calendar = [evStore calendarWithIdentifier:self.user.calendarIdentifier]; 

    EKRecurrenceEnd * end = [EKRecurrenceEnd recurrenceEndWithEndDate:[NSDate dateWithTimeIntervalSince1970:[[dictionry objectForKey:@"endDateForReps"]intValue]]]; 
    EKRecurrenceFrequency freq; 
    NSString *timeUntilForReps =[dictionry objectForKey:@"timeUnitForReps"] ; 

    if ([timeUntilForReps isEqualToString:@"week"]) freq = EKRecurrenceFrequencyWeekly; 
    else if ([timeUntilForReps isEqualToString:@"day"]) freq = EKRecurrenceFrequencyDaily; 
    else if ([timeUntilForReps isEqualToString:@"year"]) freq = EKRecurrenceFrequencyYearly; 
    else if ([timeUntilForReps isEqualToString:@"mounth"]) freq = EKRecurrenceFrequencyMonthly; 

    NSInteger timeInterval = [[dictionry valueForKey:@"repeatInterval"] integerValue]; 
    EKRecurrenceRule * rule = [[EKRecurrenceRule alloc]initRecurrenceWithFrequency:freq interval:timeInterval end:end]; 
    [event setRecurrenceRules:@[rule]]; 


    [evStore saveEvent:event span:EKSpanThisEvent commit:YES error:&error]; 
    if (error) NSLog(@"error"); 

}]; 
+0

我有同样的问题:为对象x-苹果eventkit 错误加载默认属性:///(空)/ P102从后台程序:错误域= EKCADErrorDomain代码= 1010 “(空)” –

回答

0

我有这一套错误的,而读日历事件:

Error loading default properties for object x-apple-eventkit:///Location/p1 from daemon: Error Domain=EKCADErrorDomain Code=1013 "(null)" 
Error loading string title from daemon: Error Domain=EKCADErrorDomain Code=1013 "(null)" 
Error loading default properties for object x-apple-eventkit:///Location/p1 from daemon: Error Domain=EKCADErrorDomain Code=1013 "(null)" 
Error loading string address from daemon: Error Domain=EKCADErrorDomain Code=1013 "(null)" 

使用NSLog,我确定的消息是在处理一个特定事件时发生。

基于这些消息,我想记录事件的位置值并将其与其他返回的事件进行比较。值似乎只是一个空字符串,而所有其他事件都有空字符串。

进一步检查实际日历中,我发现此特定事件在其位置字段中有一个空格或一些不可见字符(删除x显示,但似乎没有字符存在)。我通过按x删除了不可见的字符:没有更多的消息!

在这种情况下,这不是我的代码导致的问题。但是,来自错误消息的提示让我找到了解决方案。如果我一直在构建事件,我会在创建Location属性的数据时查看我的代码。

摘要

  • 注意有关该错误的性质。

  • 请注意属性错误后的附加错误消息。

  • 将您的疑难解答集中在该区域。