【iOS】EventKitを使って標準のリマインダーに投稿する
どうも、ちんぺい(@tinpay)です。
ちょっとEventKitをさわってたので、備忘録もかねてメモメモ。
#import <EventKit/EventKit.h>
#import <EventKitUI/EventKitUI.h>EKEventStore *eventStore;
EKCalendar *eventCalendar;eventStore = [[EKEventStore alloc] init];
[eventStore requestAccessToEntityType:EKEntityTypeReminder completion:^(BOOL granted, NSError *error) {
eventCalendar = [eventStore defaultCalendarForNewReminders];
}];
こんな感じでイベントストアに接続します。
で、上記の例では投稿するカレンダーにはリマインダー標準のものを設定してます。
で、投稿ロジック。
EKReminder *postReminder = [EKReminder reminderWithEventStore:eventStore];
postReminder.title = @”牛乳を買って帰る”;
postReminder.calendar = [eventStore defaultCalendarForNewReminders];
NSError *error;
BOOL success = [eventStore saveReminder:postReminder commit:YES error:&error];
if (!success) {
// 投稿失敗時
NSLog(@”%@”,[error description]);
}
これだけでリマインダーに投稿できちゃいます。
投稿先のカレンダーを変えたい場合は、
NSArray *calendars = [eventStore calendarsForEntityType:EKEntityTypeReminder];
for (EKCalendar *calendar in calendars) {
・・・
}
これで登録されているカレンダーが取得できるので、その中から投稿したいカレンダーを選んでください。
以上。
大阪には幻のカレー屋さんが2店舗あります。 iPhone5、iPad mini両方に対応したDockを買ってみた
[...] ●【iOS】EventKitを使って標準のリマインダーに投稿する|チンペイペイペイ★ [...]
[...] 前回のソースもご参考に。 EKReminder *new_reminder = [EKReminder reminderWithEventStore:eventStore]; new_reminder.title = @”牛乳を買ってかえる”; new_reminder.calendar = self.eventCalendar; [...]