设为首页 加入收藏

TOP

iOS 6.1系统日程事件的新增代码
2014-11-24 07:37:41 来源: 作者: 【 】 浏览:1
Tags:iOS 6.1 系统 日程 事件 新增 代码

详情请看代码的注释,

iOS 6.0以上系统,应用对于事件的操作都要获得用户的允许,这和之前的系统版本不同,SDK也有相应的变化。


[eventDB requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error) {
// handle access here
}];



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


NSInteger countNum = [celendarArray count];
__block NSInteger curNum = 0;

[eventDB requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error) {
// handle access here

if (granted == YES) {
for (NSDictionary *celendar in celendarArray){

EKEvent *myEvent = [EKEvent eventWithEventStore:eventDB];


NSDate *StartDate = [NSDate dateWithTimeIntervalSince1970:[[[celendar objectForKey:@"btime"] substringToIndex:10] longLongValue]];


NSDate *EndDate = [NSDate dateWithTimeIntervalSince1970:[[[celendar objectForKey:@"etime"] substringToIndex:10] longLongValue]];

myEvent.title = [celendar objectForKey:@"title"];

myEvent.startDate = StartDate;

myEvent.endDate = EndDate;

myEvent.allDay = [[celendar objectForKey:@"allday"] integerValue];

NSString *addr = [celendar objectForKey:@"addr"];
myEvent.location = addr == NULL @"":addr;

NSString *explain =[celendar objectForKey:@"explain"];
myEvent.notes = explain == NULL @"":explain;

[myEvent setCalendar:[eventDB defaultCalendarForNewEvents]];


NSError *err;


//commit:yes为单挑插入, commit:NO为批量插入,需要再最后执行[eventDB commit:nil]
[eventDB saveEvent:myEvent span:EKSpanThisEvent commit:NO error:&err];


++curNum;
}
}

}];

//用户交互的时候,可以提示进行的进度
while (curNum < countNum) {
NSLog(@"curNum = %d, contNum = %d", curNum, countNum);
continue;


}


[eventDB commit:nil];
[eventDB release];


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇在iOS代码中使用UNIX命令 下一篇Android2.2以上使用HorizontalScr..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·PostgreSQL 索引 - (2025-12-25 22:20:43)
·MySQL Node.js 连接 (2025-12-25 22:20:41)
·SQL 撤销索引、表以 (2025-12-25 22:20:38)
·Linux系统简介 (2025-12-25 21:55:25)
·Linux安装MySQL过程 (2025-12-25 21:55:22)