問題タブ [ekeventstore]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
572 参照

ios - アプリがバックグラウンドにあるときに EKEventStore 変更通知が起動しない

以下を使用してカレンダー変更通知に登録しました。

これは、ローカル カレンダーに変更が加えられたときに、次を呼び出す必要があります。

しかし...アプリを起動してバックグラウンドに送信すると、カレンダーのエントリを変更できますが、カレンダーのエントリを変更しても何も起こりません。アプリに戻ると起動します。しかし、もちろんそれが目的ではありません。

store は、ヘッダー ファイルで次のように定義されています。

更新...バックグラウンドフェッチで持っているものを表示するのを忘れていました。

これは didFinishLaunchingWithOptions にあります

これはアプリデリゲートにあります:

performFetch は、カレンダーにまったく関係のないランダムな時間のように見えるときに呼び出されます。バックグラウンド フェッチを起動しているものを見つける方法はありますか? いつもカレンダーですか?実際の実行はコメントアウトされています - それは正しいですか?

私は何が欠けていますか?

0 投票する
1 に答える
1544 参照

objective-c - 今日のイベントのみを取得する NSPredicate

EventKit.frameworkを使用して、に格納されているイベントを取得していますEKEventStore

今日のイベント、つまり朝の00:00AMから11:59PM (00:00 から 23:59)のみを取得するにはどうすればよいですか。タイムゾーンは何でもかまいません。

以下のコードを使用していますが、翌日のイベントも行っています。今日の日付に 24 時間を追加しています。

NSPredicate上記の要件を変更するにはどうすればよいですか?

0 投票する
1 に答える
76 参照

ios7 - タイトル、場所、タイムゾーン、開始日、終了日の値を取得する

NSMutableArray であるイベントから場所の値にアクセスする方法。NSLog(@"Event Title:%@", [[events objectAtIndex:i] location]); を使用しようとすると、コンパイラが'location' という名前の複数のメソッドをスローし、結果、パラメーター タイプ、または属性が一致しません。このイベントから場所の値を取得する方法。

events ( "EKEvent <0x94a9360>\n{\n\t EKEvent <0x94a9360>\n{\t タイトル = \t\tSdsdfsd; \n\t場所= \t(null); \n\t カレンダー = \tEKCalendar <0x9497b90> {title = Calendar; type = Local; allowModify = YES; color = #1BADF8;}; \n\t alarms = \t\t(null); \n\t URL = \t\t\t( null); \n\t lastModified = 2014-07-31 13:35:52 +0000; \n\t timeZone = \tアジア/コルカタ (GMT+5:30) オフセット 19800 \n}; \n\t場所= \t(null); \n\t startDate = \t2014-08-01 13:30:00 +0000; \n\t endDate = \t\t2014-08-01 14:30:00 +0000; \ n\t 全日 = \t\t0; \n\t 変動 = \t0; \n\t 繰り返し = \t(null); \n\t 出席者 = \t(null) \n};" )

0 投票する
1 に答える
1466 参照

ios - Swift Syntax を使用してリマインダーを取得する

EventKit からリマインダー (EKEntityTypeReminder) を非同期的に取得しようとしています。これをSwiftで書くにはどうすればよいですか?

… 新しい Blocks/Closures 構文への適応にまだ苦労している

0 投票する
2 に答える
3131 参照

swift - 新しいイベントのデフォルト カレンダーの取得エラー - Swift

Swift を使用しているときに、iOS のカレンダー アプリケーションで新しいイベントを作成しようとすると、問題が発生しました。

これは私がこれまでに持っているものです:

これは私が得ているエラーです:

私は自分の構文をチェックしましたが、正しいと確信しているので、どこが間違っているのかを理解してくれる人はいますか?

追加情報

  • iOS 8 ベータ 5
  • Xcode 6 ベータ 5
  • iPad Mini with Retina Display (実デバイス) で問題が発生する

アップデート

(申し訳ありませんが、私のミス) に変更EKEntityTypeReminderしてEKEntityTypeEventも、実際にはエラーは発生しませんが、予定がカレンダーに表示されなくなりました。grantedとの出力を確認したところ、それぞれerrと が表示されました。falsenil

0 投票する
1 に答える
961 参照

ios - EKEventStore に対して単体テストを作成する機会はありますか?

アプリケーション内に「カレンダーに同期」機能を実装しています。同期プロセスには、iPhone カレンダーにレプリケートするサーバー側から取得したイベントが含まれます。現在、この同期用に作成したメソッドが、考えられるすべてのシナリオに対応しているかどうかはわかりません。これが、単体テストを行う理由です。requestAccessToEntityType:completion:これには、Apple のドキュメントに記載されているように、最初に呼び出す必要がある EKEventStore への多数の呼び出しが含まれています。

iOS 6 以降では、イベント ストアが requestAccessToEntityType:completion: で初期化された後、データが返されるように、エンティティ タイプへのアクセスを要求する必要があります。

...これは、単体テストが実行される環境内で処理するのが難しいでしょう。

現在、EKEventStore のモック サブクラスを実装し、その背後に EKEvent オブジェクトの NSArray を実装することを考えています。

同期ルーチン内から使用するすべてのメソッドを模倣するようなモック サブクラスを記述せずに、EKEventStore に対して単体テストを行う可能性はありますか?

0 投票する
1 に答える
362 参照

ios - requestAccessToEntityType に関して applicationDidBecomeActive が呼び出されるのはいつですか?

共有したいと思っていた問題に遭遇しました。私の iOS カレンダーの使用法では、アプリ デリゲートで applicationDidBecomeActive を使用して、ユーザーのカレンダー設定が変更されたかどうかを確認しています。具体的には、applicationDidBecomeActive コールバックを取得した後、次のことを行います。

しかし、私は問題に遭遇しました。(なんて驚くべきことでしょう!:))。最初に requestAccessToEntityType を実行すると、applicationDidBecomeActive も呼び出されることがわかりました。つまり、Apple がユーザーに「アラート」を表示して、アプリにカレンダーへのアクセスを許可するかどうかを尋ねた後、アプリは applicationDidBecomeActive コールバックを取得します。これに関する私の唯一の残りの質問は、私がそれを理解した今、次のとおりです。

requestAccessToEntityType が呼び出されると、 requestAccessToEntityType の完了ハンドラーが呼び出される前に、常に applicationDidBecomeActive を取得しますか?

これは本当だと思います。アプリ デリゲート applicationDidBecomeActive メソッドが呼び出される前に、メソッドの 1 つが (アプリ デリゲートの外部で) 呼び出された場合、私には非常に珍しいように思えます。

0 投票する
1 に答える
905 参照

ios - EKEventStore 削除イベントがエラーをスローする

を作成しEKEventStore、アクセスできることを確認し、イベントを作成して永続化します。私は節約し、eventIdentifierすべてが良いです。定期的なカレンダーエントリです。

次に、定期的なイベントから数日を削除したいと思います。毎週金曜日に定期的な会議があるかもしれませんが、今週の金曜日は毎年恒例のディングルベリー フェスティバルであるため、会議はキャンセルされます。

私は使用removeEvent:span:commit:error:しており、すべてが意図したとおりに機能します。

次に、カレンダーからイベントを完全に削除することにしました。呼び出し[self.store removeEvent:event span:EKSpanFutureEvents commit:YES error:&error];て、コンソールにいくつかのエラー/ガベージをスローします。

Error loading date date from daemon: Error Domain=EKCADErrorDomain Code=1010 "The operation couldn’t be completed. (EKCADErrorDomain error 1010.)"

これは、定期的なイベントの期間にわたって特定の日付を削除した場合にのみ発生しEKEventStore、イベントで欠落している日付ごとにこの行が 1 回吐き出されます。その結果、半ダースのイベントをキャンセルして、途中で 6 日間を取り消すと、これらのメッセージが大量に吐き出されます。

私のコードの機能やパフォーマンスにさえ影響を与えていないようですが、このようなものがコンソールに吐き出されるのを見るのは嫌いなので、誰かがそれを防ぐための合理的な方法を見つけるのを手伝ってくれることを願っています.

0 投票する
1 に答える
201 参照

objective-c - XCode iOS8 CalDAV クレジットを使用してコードから EKCalendar を作成する

CalDAV資格情報(サーバー、ユーザー名、パスワード...)を使用してコードから直接EKCalendarを作成することは可能ですか?

何かのようなもの:

それとも、設定から CalDAV を事前に構成する唯一の方法ですか?

ありがとう