Так что в IOS 9 можно было сделать это:Укажите Predicate CKDatabaseSubscription и опционов
let subscription = CKQuerySubscription(recordType: "SomeType", predicate: somePredicate, subscriptionID: someSubscriptionID, options: [.firesOnRecordCreation, .firesOnRecordDeletion])
subscription.notificationInfo = ...
publicDatabase.save(subscription) { (savedSubscription, error) in }
Однако теперь Swift 3, CKQuerySubscription устаревшим и CKDatabaseSubscription рекомендуется для общей базы данных. У меня есть следующий код:
let subscription = CKDatabaseSubscription(subscriptionID: someSubscriptionID)
subscription.recordType = "SomeType"
publicDatabase.save(subscription) { (savedSubscription, error) in }
Проблема заключается в том, что я не вижу, как можно указать предикат и параметры подписки, используя этот метод. Кто-нибудь, пожалуйста, помогите.
['CKQuerySubscription'] (https://developer.apple.com/reference/cloudkit/ckquerysubscription) ** еще не устарел. ** Вы все еще можете использовать его. –
Мой плохой я имел в виду CKS подписку. А также CKQuerySubscription не позволяет использовать общие базы данных. –
Как я вижу, если вы владеете, вы все равно можете делать 'CKQuerySubscription' в своей частной базе данных. Но для участника вы должны использовать 'CKDatabaseSubscription', и у него нет предиката (пока?). – paiv