gpt4 book ai didi

ios - 仅当存在单个日历帐户时才会出现 EKCalendarChooser 问题

转载 作者:行者123 更新时间:2023-12-01 16:42:23 25 4
gpt4 key购买 nike

我正在使用 iOS 7.1 并执行以下操作以使用 EventKit 向用户呈现可写日历:

EKEventStore *eventStore = [[EKEventStore alloc] init];
EKCalendarChooser *calendarChooser = [[EKCalendarChooser alloc] initWithSelectionStyle:EKCalendarChooserSelectionStyleMultiple displayStyle: EKCalendarChooserDisplayWritableCalendarsOnly eventStore:eventStore];
[self.navigationController pushViewController:calendarChooser animated:YES];

我注意到两种非常奇怪的行为,它们似乎只在我针对单个日历帐户进行测试时才会发生:
  • 点击附件(在下面的屏幕中突出显示)将始终导致应用程序崩溃。
    enter image description here
  • 如果帐户包含 N 个可写日历,则只会显示 N - 1 个日历。在上面的屏幕截图中,由于某种原因,没有显示与此 iCloud 帐户关联的第二个可写日历(称为“工作”)。

  • 上面的示例使用了 iCloud,但我也针对 Exchange/Outlook 帐户测试了这个问题并得到了类似的结果。

    看起来我的代码中缺少某些内容吗?其他开发者是否有类似的经历?

    最佳答案

    我有同样的问题。
    经过大量“反复试验”后,我发现,
    EKCalendarChooser 必须是 UINavigationController 的 Root View Controller :

    EKEventStore *eventStore = [[EKEventStore alloc] init]; 
    EKCalendarChooser *calendarChooser = [[EKCalendarChooser alloc] initWithSelectionStyle:EKCalendarChooserSelectionStyleMultiple displayStyle: EKCalendarChooserDisplayWritableCalendarsOnly eventStore:eventStore];
    UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController: calendarChooser];

    这应该有效。我在 iPad 上用一个 popover Controller 展示了它,但用另一个 UINavigationController 展示它也可能有效。

    @Apple:请更新文档以避免这样的麻烦

    关于ios - 仅当存在单个日历帐户时才会出现 EKCalendarChooser 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23124197/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com