2012-02-16 8 views
1

現在、XMLを介して特別なイベントのリストをダウンロードし、ユーザがカレンダーに追加できるリストで提供するアプリをテストしています。 'イベントをカレンダーに追加'ボタンをクリックすると、関数が正しく起動され、適切な日付でイベントが設定され、saveEvent関数はnoErrを返しますが、イベントはカレンダーに表示されません。私は2つの異なるiPhoneをチェックして、両方から同じ動作を持っています。何も間違っているようではないので、何が間違っているのか分かりません。次のようにiPhone saveEventでイベントが保存されない

マイイベントコードがある:再構築+クリーン後

- (IBAction) addEvent:(id)sender 
{ 
    EKEventStore *eventStore = [[[EKEventStore alloc] init] autorelease]; 

    EKEvent *newEvent = [EKEvent eventWithEventStore:eventStore]; 
    newEvent.title = _event.name; 

    CFTimeZoneRef zone = CFTimeZoneCopySystem(); 
    CFAbsoluteTime absTime = CFGregorianDateGetAbsoluteTime([_event getStartDate], zone); 
    NSDate *start = [(NSDate *)CFDateCreate(nil, absTime) autorelease]; 

    absTime = CFGregorianDateGetAbsoluteTime([_event getEndDate], zone); 
    NSDate *end = [(NSDate *)CFDateCreate(nil, absTime) autorelease]; 

    CFRelease(zone); 

    newEvent.startDate = start; 
    newEvent.endDate = end; 
    newEvent.allDay = [_event getAllDay]; 

    newEvent.notes = _event.description; 


    [newEvent setCalendar:[eventStore defaultCalendarForNewEvents]]; 

    NSError *err; 

    [eventStore saveEvent:newEvent span:EKSpanThisEvent error:&err]; 

    if (err == noErr) { 
     UIAlertView *alert = [[UIAlertView alloc] 
           initWithTitle:@"Event Added" 
           message:[NSString stringWithFormat:@"%@ successfully added to calendar!", _event.name] 
           delegate:nil 
           cancelButtonTitle:@"OK" 
           otherButtonTitles:nil]; 
     [alert show]; 
     [alert release]; 
    } 
} 

、私は私のいずれかのイベントがカレンダーに表示になりました、しかし、私がスクロールアップとダウンのように消えるように見えました。同じことが、私が追加した別の日付に起こった。そして、3回目のテストは何もなかった。スクロールしたり、終了してカレンダーに再入力したりするときに、これらの日付を削除するものはありますか?

+0

私はまだ持っています追加されたイベントがなぜ消えているのかを追跡することはできません。 – joverboard

答えて

2

を(私は!!それのcosを失った日)が、SDK/Xcodeの/ OSのアップデート後、このバグは消えました。

イベントは追加されないという問題ではなく、UITableViewがスクロールされると消えてしまうという問題がありました。イベントが追加され、カレンダーを開くとすぐに画面に表示されると、それらは表示されますが、日付/イベントが表示されていなければ、決して追加されないように見えます。日付を追加するときにエラーはなかったので、問題のデバッグは不可能でした。

iOS 5.1での継続的なテストでは、Xcode 4.3と最新のSDKをインストールする前提として、LionへのOSアップデートが必要でした。更新が行われると、イベントはスムーズに追加され、リストに残りました。理由は分かりませんが、問題は解決しました。

0

私は同じことがシミュレータで起こっていました。プロジェクトや建物を清掃してみると、すべてが機能するように思えました。おそらくない、適切な答え...多分それはあなたのために働くだろう

+0

このような小さなものがどのように役立つか驚くべきこと。きれいな+再構築を決して忘れないでください。少なくとも今でも私は何かを見ましたが、それはまだ完全に修正されていません。 – joverboard

+0

これは、最初に始めたときに抱かれているシステムのひとつです。その "コンピュータをオフにする - 今、それをもう一度元に戻す"のようなものです。デスクの99%のチケットを修正するのに役立つタイプのソリューション:D – Deverejones

0

おそらくもう必要ですが、私の場合、私は(イベントを削除するか、新しいものを作成した後)カレンダーへの変更を保存するために、私はまた、変更をコミットしなければならなかったことに、気づいていない:

NSError *error = nil; 

[_eventStore commit:&error]; 

if(error) 
{ 
    NSLog(@"error %@", error); 
} 
関連する問題