标签: eventkit

以编程方式在iPhone日历中添加自定义事件

有没有办法从自定义应用程序中将iCal事件添加到iPhone日历?

iphone calendar ios eventkit

180
推荐指数
6
解决办法
13万
查看次数

在Swift数组中找到第一个元素匹配条件(例如EKSource)

我想在Swift中找到第一个带有"单"线表达式EKSource的类型EKSourceType.Local.这是我目前拥有的:

let eventSourceForLocal = 
    eventStore.sources[eventStore.sources.map({ $0.sourceType })
        .indexOf(EKSourceType.Local)!]
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法(例如没有映射和/或通用版本find)?

ios eventkit swift ios9 swift2

34
推荐指数
5
解决办法
3万
查看次数

EventKit中的EKParticipant错误地为isCurrentUser属性返回NO

我正在尝试确定哪个EKEvent's与会者(EKPartipants)是当前用户.在iOS6中,EKParticipant公开名为isCurrentUser的属性

http://developer.apple.com/library/ios/#documentation/EventKit/Reference/EKParticipantClassRef/Reference/Reference.html#//apple_ref/occ/cl/EKParticipant

这应该是准确提供这些信息.不幸的是,每次我查找一个EKParticipant's isCurrentUser属性时,它都会返回NO,即使情况显然不是这样.

任何帮助将非常感激!

更新的发现:

如果您查看活动组织者,isCurrentUser == YES如果您是组织者,则会正确返回.但是,如果您从参加者集中检索自己,则会返回isCurrentUser == NO.

示例控制台输出,其中两个不同的EKParticipant对象引用具有相同电子邮件地址的同一个人:

(lldb) po [ekEvent.attendees objectAtIndex:3]
$20 = 0x208c1220 EKAttendee <0x208c1220> {UUID = CCD17C5E-FCB5-4BC9-8D9E-7E957B20025D;       
name= ----- -----; email = --------wa@me.com; status = 2; role = 0; type = 1}

(lldb) print [(EKParticipant *)[ekEvent.attendees objectAtIndex:3] isCurrentUser]
(BOOL) $15 = NO

(lldb) po ekEvent.organizer
$19 = 0x20b720e0 EKOrganizer <0x20b720e0> {UUID = FD0E434D-2C9F-4A6E-98DC-    
7FA6F27C3D1E; name = ----- -----; email = --------wa@me.com; …
Run Code Online (Sandbox Code Playgroud)

iphone ios eventkit

27
推荐指数
1
解决办法
1100
查看次数

Calendar Framework/EventKit上的Google代表

我一直假设Google代表可以通过iCal和calendar.app查看,但我们的开发人员无法通过日历框架或EventKit查看.

这改变了吗?

cocoa-touch ios eventkit

25
推荐指数
1
解决办法
654
查看次数

iPhone模拟器 - 如何检测应用程序何时在模拟器上运行(这样可以设置测试数据)?

在我的iPhone应用程序代码中,任何示例代码都会告诉我如何:

  1. 如何检测应用程序是否刚刚被部署为运行到模拟器(而不是设备)[如果"已部署"不可用,那么只检测应用程序何时在模拟器上运行而不是设备)
  2. 在我的iPhone应用程序代码中,我会将设置我的测试数据的行放在模拟器中 - 这是注意到每次我重新编译并推送到模拟器时我都希望有效地擦除/重新安装测试数据(但是我我真的不希望在我在模拟器中使用应用程序期间运行此代码 - 例如应该能够在模拟器中交换应用程序然后当我在模拟器中再次启动我的应用程序时它不应该运行数据设置代码

任何其他更好的建议如何在模拟器上掩盖管理这些测试数据将是好的.这里的背景是我在谈论日历中的测试数据(例如使用事件工具包),所以当我部署到我的设备时,我不希望应用程序将日历项目放入我的iPhone(对不起 - 只有1个人iPhone在这里).

iphone test-data ios eventkit ios-simulator

24
推荐指数
3
解决办法
2万
查看次数

究竟什么构成了EKCalendar中的"完整日历同步"?

EKCalendar该类的文档为该calendarIdentifier属性声明了这一点:

与日历完全同步将丢失此标识符.您应该有一个计划,通过缓存其他属性来处理标识符不再可读的日历.

什么时候发生"完全同步"以及哪些属性可能会发生变化calendarIdentifier

calendar objective-c ios eventkit

20
推荐指数
2
解决办法
1578
查看次数

修改EventKit中的EKParticipants(与会者),如Sunrise

我的目标是添加一些被邀请者EKEvent.我已经研究过像这样的其他问题,比如这个问题,但是所有人都说EKParticipantEKEvent编程方式添加s 基本上是不可能的.我确实看到该attendees属性是只读的,但我看到其他服务,如Sunrise在他们的移动应用程序中使用它.

我相信他们正在使用一些至少部分与EventKit集成的系统,因为他们正在从用户的iCal应用程序中提取日历.例如,从添加的Exchange帐户发送的邀请也由Exchange服务明确发送,而不是Sunrise自己的邀请(将事件直接发布到Exchange或将其发布到iCal).

任何解决方法此限制都非常有用 - 可能是Exchange上可以调用添加/删除被邀请者的端点?EventKit内部的解决方法?只要它不是私有的Apple API,我就会非常乐意尝试它.

谢谢!

exchange-server objective-c ios eventkit ekevent

20
推荐指数
2
解决办法
3580
查看次数

在EventKit中将EKParticipants添加到EKEvent

我想以编程方式将参与者添加到iPhone上的EKEvent.

EKParticipant的类引用声明"您不直接创建EKParticipant对象.将与会者发送到EKEvent对象以获取EKParticipant对象的数组.".

EKEvent的类引用声明"与会者"成员(NSArray)是"与事件关联的与会者,作为EKParticipant对象的数组.(只读)"

看起来像鸡蛋和鸡蛋的场景 - 如果参与者成员a.)是"只读"并且b.包含无法直接创建的对象,那么"如何将参与者发送给EKEvent对象"?

iphone eventkit

18
推荐指数
1
解决办法
3192
查看次数

应用程序日历功能不再适用于ios 6

在我正在开发的应用程序中,用户和用户日历之间存在交互,就像在许多应用程序中发生的那样,非常标准的东西.它正常工作,直到我升级到ios 6.我现在面临"这个应用程序无法访问您的日历.当我尝试执行相同的日历功能但我的应用程序执行时,您可以在隐私设置中启用访问"对话框未出现在设备日历隐私设置中.是否需要使用一些新的api才能要求用户授予访问权限?

非常感谢帮助我解决这个问题谁能提供帮助.

icalendar objective-c ios eventkit

17
推荐指数
3
解决办法
1万
查看次数

在xcode iOS中将日历添加到日历

海兰

我有这个代码用于向日历添加事件,但它没有添加.

-(void)event
{
    EKEventStore *eventStore = [[EKEventStore alloc] init];

    EKEvent *event  = [EKEvent eventWithEventStore:eventStore];
    event.title     = @"Event";


    NSDateFormatter *tempFormatter = [[NSDateFormatter alloc]init];
    [tempFormatter setDateFormat:@"dd.MM.yyyy HH:mm"];


    NSString *dateandtime =[NSString stringWithFormat:@"%@%@%@",datestring,@" ",starttimestring];
    NSString *dateandtimeend =[NSString stringWithFormat:@"%@%@%@",datestring,@" ",endtimestring];



    event.startDate = [tempFormatter dateFromString:dateandtime];
    event.endDate = [tempFormatter dateFromString:dateandtimeend];


    [event addAlarm:[EKAlarm alarmWithRelativeOffset:60.0f * -60.0f * 24]];
    [event addAlarm:[EKAlarm alarmWithRelativeOffset:60.0f * -15.0f]];

    [event setCalendar:[eventStore defaultCalendarForNewEvents]];
    NSError *err;
    [eventStore saveEvent:event span:EKSpanThisEvent error:&err];
}
Run Code Online (Sandbox Code Playgroud)

从XML我得到这种格式的日期和时间:

日期字符串:28.10.2012

starttimestring:15:00

iphone calendar ios eventkit

14
推荐指数
1
解决办法
2万
查看次数