2011-10-10 12 views
5

Tôi đã thêm đoạn code sau vào ứng dụng của tôi:XCode: Tại sao sự kiện của tôi không được thêm vào lịch?

NSDate * selected = [DatePicker date]; 
NSString * date = [selected description]; 

NSDateComponents *components = [[NSCalendar currentCalendar] components:NSDayCalendarUnit 
                   fromDate:DatePicker.date]; 

CalLabel1.text = [NSString stringWithFormat:@"%d", [components day]]; 

EKEventStore *store = [[EKEventStore alloc] init]; 

EKEvent *event = [EKEvent eventWithEventStore:store]; 
event.title = @"Test Event"; 
//required 
event.startDate = [DatePicker date]; 
event.endDate = [DatePicker date]; 
event.calendar = store.defaultCalendarForNewEvents; 
//end 

NSError *err; 
[store saveEvent:event span:EKSpanThisEvent error:&err]; 

Tại sao điều này không thêm bất cứ điều gì vào lịch iOS?

Cảm ơn.

+1

Bạn đã kiểm tra lỗi? Nếu bạn bọc lệnh saveEvent trong một if nếu không kiểm tra thì bạn có thể 'NSLog (@"% @ ", err);' để xem tại sao nó thất bại. – Joe

+1

Nó nói: Lỗi miền = EKErrorDomain Code = 3 "Không có ngày kết thúc đã được thiết lập." UserInfo = 0x178fe0 {NSLocalizedDescription = Không có ngày kết thúc nào được thiết lập.} – pixelbitlabs

Trả lời

8

Sự kiện của bạn cần khoảng thời gian hợp lệ để lưu. Hãy thử điều này

event.startDate = selected; 
event.endDate = [selected dateByAddingTimeInterval:30*60]; //30 minutes for example 
+0

Một lần nữa, cảm ơn bạn rất nhiều - bạn đã rất rất hữu ích! Nó tất cả các công trình cho tôi ... Nhiều đánh giá cao :-) – pixelbitlabs