获取EKCalendar的来源/名称

时间:2013-06-19 11:24:43

标签: ios objective-c

我正在使用IOS日历,我想知道如何检测日历的来源。我的意思是检测日历是来自Facebook,谷歌等。

我正在使用日历类型但是,它不够详细

   if (type == EKCalendarTypeLocal) {
        typeString = @"local";
    } else if (type == EKCalendarTypeCalDAV) {
        typeString = @"calDAV";
    } else if (type == EKCalendarTypeExchange) {
        typeString = @"exchange";
    } else if (type == EKSourceTypeMobileMe) {
        typeString = @"MobileMe";
    } else if (type == EKCalendarTypeSubscription) {
        typeString = @"subscription";
    } else if (type == EKCalendarTypeBirthday) {
        typeString = @"birthday";

只是为了添加更多日期,我正在使用

for (EKCalendar *thisCalendar in calendars) {
  EKCalendarType type = thisCalendar.type;
  EKSource* source = thisCalendar.source;
  DLog(@"title %@", source.title);
  DLog(@"Src Id %@ and title %@", source.sourceIdentifier, thisCalendar.title);
  DLog(@"Id %@", thisCalendar.calendarIdentifier);

但它并不像日历iOS内置应用程序那样具有描述性 任何想法?

2 个答案:

答案 0 :(得分:0)

EKCalendar个对象具有source类型的EKSource属性。 EKSource对象有两个相关属性:sourceIdentifiersourceType。现在,sourceType或多或少与EKCalendar上的类型相同,因此您可能需要检查sourceIdentifier,因为它只是一个字符串。

查看EKCalendar Class ReferenceEKSource Class Reference以获取详细信息。

答案 1 :(得分:0)

你可以这样做:

EKCalendar *calendar = ...
EKSource *calendarSource = [calendar source];
NSString *title = [calendarSource title];