Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将事件添加到iPhone应用程序中的iCal中_Iphone_Objective C - Fatal编程技术网

将事件添加到iPhone应用程序中的iCal中

将事件添加到iPhone应用程序中的iCal中,iphone,objective-c,Iphone,Objective C,我的申请中有一项要求,即当我预约某一天的医生时,应在iCal中添加该天。它应该在特定的一天生成一个警报视图 因此,我不知道如何在iCal中添加事件。请给我一些答案 场景是,我确实有一个字符串(NSString)用于该特定约会的“日期”和“备注”。然后,如何将所有这些信息插入iCal 代码: 我已经使用了这些函数和委托方法。请告诉我,当用户收到提醒时,如何打开有关该事件的信息?您需要。您可以要求提供其日历,然后使用这些日历创建一个谓词,该谓词允许您。或者你可以创建一个新的对象,并根据苹果的文档,这

我的申请中有一项要求,即当我预约某一天的医生时,应在iCal中添加该天。它应该在特定的一天生成一个警报视图

因此,我不知道如何在iCal中添加事件。请给我一些答案

场景是,我确实有一个字符串(NSString)用于该特定约会的“日期”和“备注”。然后,如何将所有这些信息插入iCal

代码:


我已经使用了这些函数和委托方法。请告诉我,当用户收到提醒时,如何打开有关该事件的信息?

您需要。您可以要求提供其日历,然后使用这些日历创建一个谓词,该谓词允许您。或者你可以创建一个新的对象,并根据苹果的文档,这在iOS 6.0中有了一些改变

1) 您应该通过“requestAccessToEntityType:completion:”请求访问用户的日历,并在块内执行事件处理

2) 您需要立即提交事件,或者将“提交”参数传递给save/remove调用

其他一切都是一样的

添加EventKit框架并#导入到代码中

要添加事件,请执行以下操作:

   EKEventStore *store = [[EKEventStore alloc] init];
[store requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error) {
    if (!granted) { return; }
    EKEvent *event = [EKEvent eventWithEventStore:store];
    event.title = @"Event Title";
    event.startDate = [NSDate date]; //today
    event.endDate = [event.startDate dateByAddingTimeInterval:60*60];  //set 1 hour meeting
    [event setCalendar:[store defaultCalendarForNewEvents]];
    NSError *err = nil;
    [store saveEvent:event span:EKSpanThisEvent commit:YES error:&err];
    NSString *savedEventId = event.eventIdentifier;  //this is so you can access this event later
}];
删除事件:

    EKEventStore* store = [[EKEventStore alloc] init];
[store requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error) {
    if (!granted) { return; }
    EKEvent* eventToRemove = [store eventWithIdentifier:savedEventId];
    if (eventToRemove) {
        NSError* error = nil;
        [store removeEvent:eventToRemove span:EKSpanThisEvent commit:YES error:&error];
    }
}];

你好,先生,我做了和你说的一样的事。。。但是,当用户收到该特定事件的警报时,会有两个选项,“关闭”和“查看事件”。在这些选项上面,我们可以看到该提醒的标题、位置和开始时间。但是,关于这一点的注释部分并不存在。如何访问它?此外,该警报视图的“查看事件”选项未显示任何内容。。。。。请帮我摆脱这个。。。
    EKEventStore* store = [[EKEventStore alloc] init];
[store requestAccessToEntityType:EKEntityTypeEvent completion:^(BOOL granted, NSError *error) {
    if (!granted) { return; }
    EKEvent* eventToRemove = [store eventWithIdentifier:savedEventId];
    if (eventToRemove) {
        NSError* error = nil;
        [store removeEvent:eventToRemove span:EKSpanThisEvent commit:YES error:&error];
    }
}];