2

少なくともタイプ EKCalendarTypeLocal のローカル カレンダーが EKEventStore によってリストされているが、表示されず、iOS のカレンダー アプリで選択できない状況で実行します。

if ([eventStore respondsToSelector:@selector(calendarsForEntityType:)]) cals = [eventStore calendarsForEntityType:EKEntityTypeEvent];
else cals = eventStore.calendars;

おそらく、iCloud Accessing programmatically created calendar on iOS deviceと関係があることがわかりました。また、ローカル カレンダーも正常に作成され、イベントを追加できました。この作成されたカレンダーは EKEventStore によってリストされていませんでしたが、その識別子で取得しました:

aCal = [eventStore calendarWithIdentifier:calId];

テスト デバイスで iCloud アカウントを削除した後、すべてのローカル カレンダーも自分で作成したものとして表示されます。ローカル カレンダーが非表示になっているかどうかを確認する方法はありますか? そのため、情報テキストを書いたり、非表示にしたりすることもできます。

4

1 に答える 1

0

あなたは解決しましたか?

とにかく、私は答えようとします。

私が理解しているように、iCloudではローカルカレンダーを表示させないでください。iCloudをオフにしてから、彼をオンに戻すと、「ローカルカレンダーをiCloudに追加しますか?」のようなメッセージが表示されるので、...問題がiCloudのカレンダーを表示するだけの場合は、EKCalendarを抽出しますEKSourceTypeLocalではなくEKSourceTypeCalDAVでソースを変更します...大丈夫です

于 2012-12-21T14:56:58.510 に答える