EKEventStore:'initWithAccessToEntityTypes' 不可用:iOS 不可用
EKEventStore: 'initWithAccessToEntityTypes' is unavailable: not available on iOS
我正在尝试设置 EKEventStore 以(在他们的许可下)在 iOS 应用程序中显示用户的日历事件。
我遇到的关于如何初始化 EKEventStore 实例的第一对 Apple 文档页面 (1.Accessing the Event Store; 2. Reading and Writing Calendar Events) 是这样说的:
EKEventStore *eventStore = [[EKEventStore alloc] initWithAccessToEntityTypes:EKEntityMaskEvent];
但是,在使用最新 Xcode(版本 11.3)和 "Single Page Application" 模板创建的全新 iOS 应用程序中,将上述代码行添加到 viewDidLoad
ViewController.m、Xcode 的方法给出了这个错误:
'initWithAccessToEntityTypes' is unavailable: not available on iOS
在 iOS 应用程序中初始化 EKEventStore
的正确方法是什么?
文章 EKEventStore 暗示在 iOS 上,您可以在 iOS 上使用默认的 init
方法:
In macOS, use initWithAccessToEntityTypes: instead of the default init method. Acceptable entity types are EKEntityMaskEvent for events and EKEntityMaskReminder for reminders.
我尝试在我的应用程序中这样做 ViewController.m:
#import <EventKit/EventKit.h>
// ...
- (void)viewDidLoad
{
EKEventStore *eventStore = [[EKEventStore alloc] init];
// ...
}
这在我的 iOS 应用程序中对我来说效果很好;我能够继续使用 eventStore
成功检索日历事件(在用户在运行时授予权限后)。
我正在尝试设置 EKEventStore 以(在他们的许可下)在 iOS 应用程序中显示用户的日历事件。
我遇到的关于如何初始化 EKEventStore 实例的第一对 Apple 文档页面 (1.Accessing the Event Store; 2. Reading and Writing Calendar Events) 是这样说的:
EKEventStore *eventStore = [[EKEventStore alloc] initWithAccessToEntityTypes:EKEntityMaskEvent];
但是,在使用最新 Xcode(版本 11.3)和 "Single Page Application" 模板创建的全新 iOS 应用程序中,将上述代码行添加到 viewDidLoad
ViewController.m、Xcode 的方法给出了这个错误:
'initWithAccessToEntityTypes' is unavailable: not available on iOS
在 iOS 应用程序中初始化 EKEventStore
的正确方法是什么?
文章 EKEventStore 暗示在 iOS 上,您可以在 iOS 上使用默认的 init
方法:
In macOS, use initWithAccessToEntityTypes: instead of the default init method. Acceptable entity types are EKEntityMaskEvent for events and EKEntityMaskReminder for reminders.
我尝试在我的应用程序中这样做 ViewController.m:
#import <EventKit/EventKit.h>
// ...
- (void)viewDidLoad
{
EKEventStore *eventStore = [[EKEventStore alloc] init];
// ...
}
这在我的 iOS 应用程序中对我来说效果很好;我能够继续使用 eventStore
成功检索日历事件(在用户在运行时授予权限后)。