2013-03-13 78 views
1

如何以檢索默認日曆和提醒programitically在iOS中,我有一個簡單的項目,其中有一個按鈕,我想點擊按鈕進入defult提醒和日曆iphone:訪問defult日曆和提醒按鈕單擊事件

我做了簡單的代碼,這一點,但它是NORT正常工作 下面是我的示例代碼

#import "ViewController.h" 
#import <EventKit/EventKit.h> 

@interface ViewController() 
@end 

@implementation ViewController 
- (IBAction)btn:(id)sender { 
    EKEventStore *eventStore=[[EKEventStore alloc]init]; 
    EKEvent *event =[EKEvent eventWithEventStore:eventStore]; 
    NSDate *startDate=[[NSDate alloc]init]; 
    NSDate *endDate =[[NSDate alloc]init]; 

    [email protected]"Title for new event"; 
    event.startDate=startDate; 
    event.endDate=endDate; 
    event.allDay=YES; 
    [event setCalendar:[eventStore defaultCalendarForNewEvents]]; 
    NSError *err; 
    [eventStore saveEvent:event span:EKSpanThisEvent error:&err]; 

    // if (err == noErr){ 
    //  UIAlertView * alert = [[UIAlertView alloc]initWithTitle:@"Event create" message:@"how about that?" delegate:nil cancelButtonTitle:@"okey" otherButtonTitles:nil]; 

//  

//  [alert show]; 
} 

當我運行它在iPhone 4S的王宮設備上的時間顯示它是我下面的錯誤:

2013-03-13 09:52:22.638 remind[774:907] defaultCalendarForNewEvents 
failed: Error Domain=EKCADErrorDomain Code=1013 "The operation 
couldn’t be completed. (EKCADErrorDomain error 1013.)" 

回答

1
this is my .h header file where u have to declare this below code: 
uikit framework 

#import <UIKit/UIKit.h> 

#import <EventKitUI/EventKitUI.h> 

#define ALERT_Reminder 0 

@interface GaSchedulesDeWorming : UIViewController<UITableViewDataSource, UITableViewDelegate, EKEventEditViewDelegate> 

{ 

EKEventStore *eventStore; 



} 


this ins my implementation file .m: 

      **#import <EventKitUI/EventKitUI.h>** 
add these package 

這下面的代碼是在默認情況下壓延機開了設定的reminde在IPONE

 EKEventStore *eventStore=[[EKEventStore alloc]init]; 
    EKEvent *event =[EKEvent eventWithEventStore:eventStore]; 
    NSDate *startDate=[[NSDate alloc]init]; 
    NSDate *endDate =[[NSDate alloc]init]; 

    [email protected]"Title for new event"; 
    event.startDate=startDate; 
    event.endDate=endDate; 
    event.allDay=YES; 
    [event setCalendar:[eventStore defaultCalendarForNewEvents]]; 
    NSError *err; 
    [eventStore saveEvent:event span:EKSpanThisEvent error:&err]; 


    eventStore=[[EKEventStore alloc]init]; 

     __block BOOL accessGranted = NO; 



    if([eventStore respondsToSelector:@selector(requestAccessToEntityType:completion:)]) { 

     dispatch_semaphore_t sema = dispatch_semaphore_create(0); 

     [eventStore requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error) { 

     accessGranted = granted; 

     dispatch_semaphore_signal(sema); 

     }]; 

     dispatch_semaphore_wait(sema, DISPATCH_TIME_FOREVER); 

     } else { 



     accessGranted = YES; 

     } 



     if (accessGranted) { 



     } 





     EKEventEditViewController *controller = [[EKEventEditViewController alloc]init]; 









    }