iPhoneアプリ内にカスタムカレンダーを追加する方法を知りましたが、そのカレンダーをデバイスのカレンダーに追加する方法がわかりません。このイベントは、アプリ内から見たときに正しいカレンダーを表示しますが、予定のカレンダー行をタップしても、カレンダーはリストにはなく、カレンダー名を正しく保持するにはキャンセルする必要があります。自分のローカルに作成されたカレンダーに「購読する」方法があるので、デバイス上のカレンダーアプリから見ることができます(明らかに、ユーザーのコンピュータなどと同期することもできます)。iOSデバイスでプログラムで作成されたカレンダーにアクセスする
2
A
答えて
6
iCloudと関係があります。 iCloudがオンの場合、ローカルのソース(EKSourceTypeLocal)を持つカレンダーは非表示になります。
1
私は今日この問題に苦労しています。私はカレンダーの設定(最終的にはエンドユーザー)がデバイスにどのような設定を行っているかが分かりません。
個人的には私のGMailカレンダーをExchange形式で同期させます。そうすることで、「ローカル」カレンダーが表示されなくなります。
ユーザーの設定に応じてEKSourceを操作すると、カレンダーが正しく表示されるはずです。これはExchangeのシナリオで有効です。詳細は、EKSourceクラスリファレンスを参照してください。 iCloudを確認することを検討してください!
EKCalendar *calendar = [EKCalendar calendarWithEventStore:self.eventStore];
calendar.title = @"My Calendar";
EKSource *localSource = nil;
EKSource *defaultSource = [self.eventStore defaultCalendarForNewEvents].source;
if (defaultSource.sourceType == EKSourceTypeExchange) {
localSource = defaultSource;
} else {
for (EKSource *source in self.eventStore.sources) {
if (source.sourceType == EKSourceTypeLocal) {
localSource = source;
break;
}
}
}
if (localSource) {
calendar.source = localSource;
} else {
NSLog(@"Error: no local sources available");
}
NSError *error = nil;
BOOL result = [self.eventStore saveCalendar:calendar commit:YES error:&error];
if (result) {
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setObject:calendar.calendarIdentifier forKey:@"Calendar"];
[userDefaults synchronize];
NSLog(@"Saved calendar to event store");
} else {
NSLog(@"Error saving Calendar");
}
+0
こんにちはベン、私は私のiosアプリケーションでEKSourceTypeExchangeを使用する必要がありますので、iPhoneまたはiPadの設定 - >アカウントセクションにある私のカレンダーを私のGmailアカウントに同期することが可能です。私のiPhoneのカレンダー(ical)にすべての私のGmailアカウントのカレンダーのイベントを取得したいと思う..どのように私はこれを行うことができますか? – Apple
関連する問題
- 1. iOSデバイスが別のiOSデバイスで作成されたiCloudアカウントにアクセスできない
- 2. iOS:プログラムでUIWindowのプログラムが誤った位置に作成される
- 3. カレンダーAPIで作成された予定がカレンダーに表示されない
- 4. プログラムで作成されたカレンダーをユーザーインターフェイスから削除できません
- 5. Windowsデスクトップに接続されたiOSデバイスのファイルシステムにプログラムでどのようにアクセスできますか?
- 6. iOS - プログラムで作成されたTextFieldの場所
- 7. CalendarProviderのデバイス上に他のアプリケーションからアクセスできないカレンダーを作成
- 8. 別のプログラムで作成されたファイルへのアクセス
- 9. プログラムで作成されたフライアウトの所有者にアクセスする方法は?
- 10. C#プログラムで作成されたボタン - プログラムで作成されたテキストボックスを有効にします
- 11. ASP.NETで作成したHtmlコントロールにプログラムでアクセスする
- 12. iOS UIStackViewをプログラムで作成する
- 13. ロックされたiOSデバイスでBTLEデバイスをスキャンする
- 14. 「非ios」デバイスとプログラムでペアリングする
- 15. Interface Builderで作成されたNSTableViewにプログラムでアクセスするにはどうすればよいですか?
- 16. iOS:プログラムで作成されたUITableViewのカスタムセルを作成するのにIBを使用します。
- 17. 接続されたMacコンピュータからiOSデバイスのスクリーンショットをプログラムで取得する
- 18. ios sdk 4で作成されたアプリケーションは、os 4.2でデバイスにインストールされますか?
- 19. Guice - プログラムで作成されたバインディング
- 20. アクセスはプログラムによって作成されたUIbuttons:objective-c
- 21. iOSで作成したPDF文書にアクセスするには?
- 22. iOS - 作成されたファイルとフォルダにアクセス
- 23. プログラムで作成したコントロールでiOS UIイベントを検出する
- 24. iOSのPhoneGapで作成されたHTML5ローカルストレージにアクセスするにはどうすればよいですか?
- 25. componentDidMountで作成されたアクセス変数
- 26. プログラムで作成されたファイルがLinuxでNULLになる
- 27. Androidデバイスでたくさんのログが作成される
- 28. デフォルトでアイコンをプログラムで作成IOS
- 29. プログラムで作成されたコントロールにツールチップを追加する
- 30. プログラムで作成されたドキュメントセットアイテムは常にフォルダです
こんにちはJPKは、私はiPadのiPhoneまたはで[設定]> [アカウント]セクションにあるGmailアカウントに自分のカレンダーを同期することも可能であるし、YESの場合、どのようにすれば、私のiOSアプリでEKSourceTypeExchangeを使用する必要があります私はそれを解決することができます,,,私はまた、私のiPhoneのカレンダー(ical)にすべての私のGmailアカウントのカレンダーのイベントをretriveしたい..どのように私はこれを行うことができますか? – Apple