iPhoneのカレンダーにイベントを追加したい。
github から ti.com.calendar モジュールを試してみましたが、このモジュールでは startTime EndTime、Title、および詳細のみを保存します。ただし、allDay の繰り返しやリマインダーを使用しないでください。
これの使い方。カレンダーで?
リマインダーのユーザー通知も行います。ただし、イベントを削除した後。通知は削除されません。
どんな提案でも大歓迎です
iPhoneのカレンダーにイベントを追加したい。
github から ti.com.calendar モジュールを試してみましたが、このモジュールでは startTime EndTime、Title、および詳細のみを保存します。ただし、allDay の繰り返しやリマインダーを使用しないでください。
これの使い方。カレンダーで?
リマインダーのユーザー通知も行います。ただし、イベントを削除した後。通知は削除されません。
どんな提案でも大歓迎です
以下はコードの平和です。アラームの日付は勤務時間と一致させるために使用されます (ユーザーは仕事をするために起床するのを好みません :)
eventStore = [[EKEventStore alloc] init];
EKEvent *newEvent = [EKEvent eventWithEventStore:eventStore];
newEvent.calendar = eventStore.defaultCalendarForNewEvents;
NSString *titleForEvent = [NSString stringWithFormat:@"In country:%@ will be:\n%@ event",[mo valueForKey:@"name"],[mo valueForKey:@"necessaryData"]];
newEvent.title = titleForEvent;
newEvent.allDay = YES;
NSDate *date = [mo valueForKey:@"date"];
NSDate *dateAlarm = [mo valueForKey:@"dateAlarm"];
EKAlarm *alarm = [EKAlarm alarmWithRelativeOffset:[dateAlarm timeIntervalSinceDate:date]];
if (dateAlarm < [NSDate date]){
dateAlarm = [NSDate dateWithTimeIntervalSinceNow:+18000];
NSDateFormatter *dateForm = [[NSDateFormatter alloc]init];
[dateForm setDateFormat:@"%HH"];
NSString *hourOfAlarm = [dateForm stringFromDate:dateAlarm];
[dateForm release];
NSNumberFormatter *numberForm = [[NSNumberFormatter alloc] init];
NSNumber *hour = [numberForm numberFromString:hourOfAlarm];
[numberForm release];
int difference = 0;
if ([hour intValue] < 9) difference = (9 - [hour intValue]) *3600;
if ([hour intValue] > 17) difference = (17 - [hour intValue]) *3600;
if (difference != 0) {
NSTimeInterval interval = 18000 + difference;
dateAlarm = [NSDate dateWithTimeIntervalSinceNow:interval];
}
alarm = [EKAlarm alarmWithRelativeOffset:[dateAlarm timeIntervalSinceDate:date]];
}
newEvent.startDate = date;
newEvent.endDate = date;
//EKAlarm *alarm = [EKAlarm alarmWithRelativeOffset:[dateAlarm timeIntervalSinceDate:date]];
newEvent.alarms = [NSArray arrayWithObject:alarm];
NSError *error;
BOOL saved = [eventStore saveEvent:newEvent span:EKSpanThisEvent error:&error];
if (!saved && error) {
NSLog(@"%@",[error localizedDescription]);
} else [mo setValue:newEvent.eventIdentifier forKey:@"eventIdentifier"];