カレンダーを扱うアプリを書いています。アプリでは、ユーザーが有効または無効にできるすべての利用可能なカレンダーのリストを表示しています。私は自分のデザインと UI のためにフレームワークを使用していません。EventKitUI
calendars
オブジェクトのプロパティをポーリングして、カレンダーのきちんとしたリストを取得しEKEventStore
ます。ただし、私のデバイスでは、そのEKCalendar
リストに. これは、デバッガーでのオブジェクトの説明です。EKEventKitUI
EKCalendar <0xcea6b60> {title = Agenda; type = Local; allowsModify = YES; color = #711A76;}
私はオランダ語で iPhone を実行しているため、タイトルが「カレンダー」ではなく「アジェンダ」になっていますが、iPhone を英語で実行すると、それが表示されます。これは iOS のデフォルト カレンダーのようですが、すべてのカレンダーが iCloud と同期するように設定されているため、組み込みのカレンダー アプリでは無効になっています。自分のアプリでも無効にしたいのですが、方法がわかりません。
のプロパティをEKCalendar
見ると、どのカレンダーを「非表示」にするかを決定するためのものを識別できません。このデフォルトのカレンダーには「ローカル」というtype
プロパティがありますが、誰かが iCloud を使用していない場合、すべてのカレンダーがローカル タイプであると思います。subscription
そうでもないし、そうでもないallowsContentModifications
。title に基づいてデフォルトのカレンダーを非表示にする人々の例を見てきましたが、ご覧のとおり、タイトルはローカライズされているため、非常に非現実的です。
通常の iCal/Calendar アプリが表示するカレンダーのリストと同じにするために、どのカレンダーをデフォルトのカレンダーにするか、非表示にするかどうかを決定するコツは何ですか?
編集:質問は回答済みとしてマークされましたが、回答には大きな「いいえ、できません」が含まれています。「ローカルカレンダーを非表示にする」設定パネルスイッチを追加することで、ユーザーのためにこの問題を解決しましたが、それは非常に洗練されていない解決策です。