So in IOS 9 war es möglich, dies zu tun:Geben CKDatabaseSubscription des Prädikats und Optionen
let subscription = CKQuerySubscription(recordType: "SomeType", predicate: somePredicate, subscriptionID: someSubscriptionID, options: [.firesOnRecordCreation, .firesOnRecordDeletion])
subscription.notificationInfo = ...
publicDatabase.save(subscription) { (savedSubscription, error) in }
jedoch jetzt mit Swift 3 hat CKQuerySubscription veraltet und CKDatabaseSubscription für eine gemeinsame Datenbank empfohlen. Ich habe den folgenden Code:
let subscription = CKDatabaseSubscription(subscriptionID: someSubscriptionID)
subscription.recordType = "SomeType"
publicDatabase.save(subscription) { (savedSubscription, error) in }
Das Problem ist, dass ich sehe nicht, wie man das Prädikat angeben kann und die Abonnement-Optionen mit dieser Methode. Jemand bitte helfen.
['CKQuerySubscription'] (https://developer.apple.com/reference/cloudkit/ckquerysubscription) ist ** noch nicht veraltet. ** Sie können es weiterhin verwenden. –
Mein schlechtes ich meinte CKSubscription. Und auch CKQuerySubscription erlaubt keine freigegebenen Datenbanken. –
Wie ich es sehe, können Sie, wenn Sie Besitzer sind, immer noch 'CKQuerySubscription' in Ihrer privaten Datenbank ausführen. Aber für den Teilnehmer müssen Sie "CKDatabaseSubscription" verwenden, und es hat kein Prädikat (noch?). – paiv