簡単なメモ アプリケーションを作成しており、リマインダーを実装したいと考えています。ユーザーがメモを入力し、ボタンをタップすると、テキストを使用してリマインダー アプリでリマインダーが設定されます。これは可能ですか? もしそうなら、どうすればいいですか? EventKit と EKReminders に関する Apple のドキュメントを見たことがありますが、まったく役に立ちませんでした。
10827 次
1 に答える
18
「カレンダーとリマインダーのプログラミング ガイド」から? 具体的には「読み書きのリマインダー」
reminderWithEventStore:
クラス メソッドを使用してリマインダーを作成できます。title
プロパティとプロパティはcalendar
必須です。リマインダーのカレンダーは、グループ化されたリストです。
リマインダーを作成する前に、許可を求めてください。
で.h
:
@interface RemindMeViewController : UIViewController
{
EKEventStore *store;
}
と、.m
リマインダーへのアクセスが必要な場合:
store = [[EKEventStore alloc] init];
[store requestAccessToEntityType:EKEntityTypeReminder
completion:^(BOOL granted, NSError *error) {
// Handle not being granted permission
}];
実際にリマインダーを追加します。これは非同期で発生するため、この直後にリマインダーを追加しようとすると失敗します (私の経験ではアプリがクラッシュします)。
- (IBAction)addReminder:(id)sender
{
EKReminder *reminder = [EKReminder reminderWithEventStore:store];
[reminder setTitle:@"Buy Bread"];
EKCalendar *defaultReminderList = [store defaultCalendarForNewReminders];
[reminder setCalendar:defaultReminderList];
NSError *error = nil;
BOOL success = [store saveReminder:reminder
commit:YES
error:&error];
if (!success) {
NSLog(@"Error saving reminder: %@", [error localizedDescription]);
}
}
于 2013-04-07T20:08:50.090 に答える