1

私はこのコードを持っています。FiresOnRecordCreation の起動モードでサブスクリプションを作成するときに機能しますが、FiresOnce でエラーが発生します。エラーは、「クエリサブスクリプションには少なくとも 1 つのタイプの起動モードが必要です」です。

私の目標は写真を撮ることです。写真の最初の評価が発生したときに、通知を受け取りたいです。評価ごとに通知が多すぎるため、参照で FiresOnRecordCreation を使用したくありません。受け取った最初の評価の最初の通知が欲しいだけです。

    let database = CKContainer.defaultContainer().publicCloudDatabase
    let predicate = NSPredicate(format:"owningPhoto == %@", ref)
    let subscription = CKSubscription(recordType: "PhotoRatings", predicate: predicate, options: .FiresOnce)

xcode はサブスクリプションでクラッシュしますが、FiresOnce ではクラッシュします。

4

1 に答える 1

1

.FireOnce に加えて、それが作成、更新、または削除用かどうかも示す必要があります。したがって、呼び出しは次のようになります。

   let subscription = CKSubscription(recordType: "PhotoRatings", predicate: predicate, options: [.FiresOnce, .FiresOnRecordCreation, .FiresOnRecordUpdate, .FiresOnRecordDeletion])
于 2016-02-19T07:37:48.180 に答える