CKDatabaseSubscription not pushing notifications
<p>I'm trying to receive changes with <code>CKDatabaseSubscription</code> but I'm stuck that I don't receive any push notifications from that subscription.</p>

<p>I'm subscribing to changes in private record zone via such method:</p>

<pre><code>let container = CKContainer.default()

func subscribeChanges() {
    let subscription = CKDatabaseSubscription(subscriptionID: "test")

    let notificationInfo = CKNotificationInfo()
    notificationInfo.shouldSendContentAvailable = true
    subscription.notificationInfo = notificationInfo

    let operation = CKModifySubscriptionsOperation(subscriptionsToSave: [subscription], subscriptionIDsToDelete: [])
    operation.modifySubscriptionsCompletionBlock = { savedSubscriptions, deletedSubscriptionIDs, operationError in
        if operationError != nil {
            print(operationError)
            return
        } else {
            print("Subscribed")
        }
    }

    container.privateCloudDatabase.add(operation)
}
</code></pre>

<p>Subscribe is successful. But I don't receive any notifications on device, I've checked with such method:</p>

<pre><code>func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -&gt; Bool {
    application.registerForRemoteNotifications()
    return true
}

func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -&gt; Void) {   
    NSLog("Notification received")

}
</code></pre>

<p>I'm testing on real device connected to XCode, tried to push changes via simulator and Apple's dashboard.</p>

<h3>Update</h3>

<p>As I've found <code>CKDatabaseSubscription</code> only works for shared record zones. For public &amp; private zone I can use something like that and it works:</p>

<pre><code>CKQuerySubscription(recordType: "TestRecordType", predicate: NSPredicate(format: "TRUEPREDICATE"), options: CKQuerySubscriptionOptions.firesOnRecordCreation)
</code></pre>