我在哪里可以findIOS日历同步的好教程?
我正在开发一个iPhone应用程序。
如何同步新的事件与iOS日历?
你可以通过这个Github代码,这将真正帮助你,如果你想与你的应用程序的calander事件同步…
https://github.com/klazuka/Kal
希望这会解决你的问题…
另一个:-
为了实现calander和与calander的数据同步,你必须通过在代码中添加Event Frame工作来实现calander:
EventKitUI.framework
EventKit.framework
添加这两个框架添加这些框架后,你必须更新你的viewController你必须给更新calander选项或报警选项。
将这两个文件导入到.h文件中
#import <EventKit/EventKit.h> #import <EventKitUI/EventKitUI.h>
EKEventEditViewDelegate协议,
使这些类的对象
EKEventViewController *detailViewController; EKEventStore *eventStore; EKCalendar *defaultCalendar; NSMutableArray *eventsList;
然后使@property和@synthesize
在calander中为addEvents做一个方法
-(IBAction) addEvent:(id)sender;
然后在做这个去.m文件
@合成属性。
在你的viewDidLoad方法中添加这些:
self.eventStore = [[EKEventStore alloc] init]; self.eventsList = [[NSMutableArray alloc] initWithArray:0]; // Get the default calendar from store. self.defaultCalendar = [self.eventStore defaultCalendarForNewEvents]; // create an Add button UIBarButtonItem *addButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"bell.png" ] style:UIBarButtonItemStylePlain target:self action:@selector(addEvent:)]; //UIBarButtonItem *addButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCompose target:self action:@selector(addEvent:)]; self.navigationItem.rightBarButtonItem = addButtonItem; [addButtonItem release]; and added this... #pragma mark - #pragma mark Add a new Event -(IBAction) addEvent:(id)sender { self.eventStore = [[EKEventStore alloc] init]; EKEvent *event = [EKEvent eventWithEventStore:eventStore]; // event.title =@"Whatever you want your title to be"; event.title = self.currentTitle; // NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; event.allDay = YES; EKEventEditViewController *addController = [[EKEventEditViewController alloc] initWithNibName:nil bundle:nil]; addController.event = event; addController.eventStore = self.eventStore; [self presentModalViewController:addController animated:YES]; addController.editViewDelegate = self; [addController release]; } #pragma mark - #pragma mark EKEventEditViewDelegate // Overriding EKEventEditViewDelegate method to update event store according to user actions. - (void)eventEditViewController:(EKEventEditViewController *)controller didCompleteWithAction:(EKEventEditViewAction)action { NSError *error = nil; EKEvent *thisEvent = controller.event; switch (action) { case EKEventEditViewActionCanceled: // Edit action canceled, do nothing. break; case EKEventEditViewActionSaved: // When user hit "Done" button, save the newly created event to the event store, // and reload table view. // If the new event is being added to the default calendar, then update its // eventsList. if (self.defaultCalendar == thisEvent.calendar) { [self.eventsList addObject:thisEvent]; } [controller.eventStore saveEvent:controller.event span:EKSpanThisEvent error:&error]; // [self.tableView reloadData]; break; case EKEventEditViewActionDeleted: // When deleting an event, remove the event from the event store, // and reload table view. // If deleting an event from the currenly default calendar, then update its // eventsList. if (self.defaultCalendar == thisEvent.calendar) { [self.eventsList removeObject:thisEvent]; } [controller.eventStore removeEvent:thisEvent span:EKSpanThisEvent error:&error]; //[self.tableView reloadData]; break; default: break; } // Dismiss the modal view controller [controller dismissModalViewControllerAnimated:YES]; } // Set the calendar edited by EKEventEditViewController to our chosen calendar - the default calendar. - (EKCalendar *)eventEditViewControllerDefaultCalendarForNewEvents:(EKEventEditViewController *)controller { EKCalendar *calendarForEdit = self.defaultCalendar; return calendarForEdit; }
现在我想你懂的代码…谢谢….