Hatena::Groupiphone-dev

iOS プログラミングメモ

2013-08-14 (Wed)

MountainLionで発生するEventKitの不具合についてレポートを送る 17:32  MountainLionで発生するEventKitの不具合についてレポートを送る - iOS プログラミングメモ を含むブックマーク

みなさん、バグっぽいもの見つけたらバグレポートしましょうねということで。バグレポは以下から送れます。たぶん英語で送らないといけないのでなかなか躊躇しちゃいますが、躊躇しててもバグは直らないので積極的に送りましょう。自分の場合は箇条書き+サンプルプロジェクトを付けて送っていて、なんとかなってる感じです。直ったって連絡くると、嬉しいですよ。

特にいまはバグチェックが目的の一つでもあるベータ版のOSが出てますから、一つくらいはバグを見つけて貢献したいですね。

そんで今回報告するバグですが、EventKit.frameworkで二つあります。MoutainLionからiOSと同じインターフェイスのEventKit.frameworkが使えるようになって、カレンダーアプリ開発者にとっては幸せいっぱいですが、少しバグがあるんですね。EventKitを使う人がどれだけ居るかわかんないけど、参考までに。

デイリーの繰り返しイベントを編集すると、データがおかしくなる

  • 事前準備としてEKRecurrenceFrequencyDailyで繰り返しイベントを登録する → (A)
  • (A)のイベントの中から、最初の日以外のイベントの内容を変更して"saveEvent:event span:EKSpanFutureEvents"みたいに「今後のイベントも一緒に変更」ってやると、選択したイベントの前日のイベントが消える。
  • 同様に、(A)のイベントの最初の日のイベントに対してEKSpanFutureEventsとして変更・保存すると、イベントが1個増える。

EventKit触ったことあってもわかりにくい文章だな…。まあとにかくこんな感じ変な動きをする。EKRecurrenceFrequencyWeeklyとかMonthlyとかだと大丈夫という。

Eventを作成してロードすると、登録してないAlarmが登録されている

※標準のカレンダーアプリの環境設定で「通知」を設定すると、デフォルトでAlarmが登録されるようになるけど、それとはまた別問題です。

  • このAlarmのabsoluteDateは1976年04月01日とかになっている。
  • このAlarmは消しても消えない。
  • EventKitの前身であるCalCalendarで同じイベントをロードすると、CalAlarm.actionがNoneとして登録されているのが確認できる。
    • ちなみにCalAlarmのactionに指定できる定数には「None」なんて存在しない。
extern NSString * const CalAlarmActionDisplay;
extern NSString * const CalAlarmActionEmail;
extern NSString * const CalAlarmActionProcedure;
extern NSString * const CalAlarmActionSound;
トラックバック - http://iphone-dev.g.hatena.ne.jp/ktakayama/20130814