我已经想出了如何在我的iPhone应用程序中添加自定义日历,但我无法弄清楚如何将该日历添加到设备的日历中。该事件显示从应用程序内查看时的正确日历,但即使点击日历行中的某个事件,我的日历也不在列表中,如果要保持日历名称正确,我必须取消日历。有没有办法'订阅'我的本地创建的日历,以便我可以从设备上的日历应用程序中看到它(显然,我也希望它与用户的计算机同步等)。在iOS设备上访问以编程方式创建的日历
2
A
回答
6
它与iCloud有关。当iCloud打开时,具有本地源(EKSourceTypeLocal)的日历将被隐藏。
1
今天我一直在为此苦苦挣扎,这一切似乎都归功于我(最终是最终用户)在设备上的日历设置。
就我个人而言,我将我的GMail日历同步到Exchange格式 - 这样做可以防止“本地”日历显示出来。
通过根据用户的设置操作EKSource应该正确显示您的日历 - 这适用于我的Exchange场景请参阅EKSource类参考了解更多场景。考虑检查iCloud!
EKCalendar *calendar = [EKCalendar calendarWithEventStore:self.eventStore];
calendar.title = @"My Calendar";
EKSource *localSource = nil;
EKSource *defaultSource = [self.eventStore defaultCalendarForNewEvents].source;
if (defaultSource.sourceType == EKSourceTypeExchange) {
localSource = defaultSource;
} else {
for (EKSource *source in self.eventStore.sources) {
if (source.sourceType == EKSourceTypeLocal) {
localSource = source;
break;
}
}
}
if (localSource) {
calendar.source = localSource;
} else {
NSLog(@"Error: no local sources available");
}
NSError *error = nil;
BOOL result = [self.eventStore saveCalendar:calendar commit:YES error:&error];
if (result) {
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setObject:calendar.calendarIdentifier forKey:@"Calendar"];
[userDefaults synchronize];
NSLog(@"Saved calendar to event store");
} else {
NSLog(@"Error saving Calendar");
}
+0
你好本,我需要在我的iOS应用程序中使用EKSourceTypeExchange,所以是否有可能将我的日历同步到我的gmail帐户,这是iPhone或iPad设置 - >帐户部分,如果是的话我该如何解决, ,,我也想把我所有的Gmail帐户的日历事件都放入我的iphone日历(ical)..所以我怎么做到这一点? – Apple 2013-07-03 13:36:32
相关问题
- 1. 创建CalendarProvider上设备上其他应用程序无法访问的日历
- 2. 如何以编程方式在iOS上添加日历订阅?
- 3. 如何在iOS中以编程方式设置设备方向
- 4. 以编程方式创建可同步的Android日历
- 5. 访问编程方式创建的UILabel
- 6. 如何以编程方式在iOS 5.1中访问WiFi设置
- 7. 以编程方式创建NSObjects ios
- 8. 以编程方式从iOS设备访问计算机中的文件
- 9. Android以编程方式创建新日历?
- 10. 以编程方式启用辅助设备访问
- 11. 如何在iOS上以编程方式创建.txt文件
- 12. 如何在iPhone中以编程方式检测设备日历类型?
- 13. 如何访问以编程方式创建的按钮?
- 14. 如何访问以编程方式创建Flyout的所有者?
- 15. 在iOS中创建日历
- 16. 以编程方式访问Android Wear上的NFC设置
- 17. 以编程方式在设备上设置动画android
- 18. 以编程方式在iPad上添加日历事件
- 19. 以编程方式在ipad上删除日历条目
- 20. 如何以编程方式设置日历事件的时区?
- 21. 以编程方式创建SPAlert时访问被拒绝错误
- 22. 如何以编程方式在默认日历中创建iCal事件?
- 23. 以另一种方法访问以编程方式创建的对象
- 24. 如何在iOS中以编程方式创建基于设备方向的视图?
- 25. iOS:在设备上创建MP3
- 26. 以编程方式标识iphone设备
- 27. 以编程方式配置Android设备
- 28. 以编程方式处理iOS设备旋转
- 29. 如何让iOS设备以编程方式播放音乐?
- 30. 以编程方式使iOS设备静音/静音?
JPK您好,我需要使用EKSourceTypeExchange在我的iOS应用程序,所以是有可能我的日历同步达到这是在iPhone或iPad上在设置 - >帐户部分我的Gmail帐户,如果是那么如何我可以解决它,,,我也想要所有我的Gmail帐户的日历事件我的iPhone日历(ical)..所以我怎么能做到这一点? – Apple 2013-07-03 13:40:56