iOS 9 CloudKit: query does not return anything while connected to cellular network iOS 9 CloudKit: query does not return anything while connected to cellular network swift swift

iOS 9 CloudKit: query does not return anything while connected to cellular network


Open the settings app, find your app, enable 'use mobile data'

Update: As discussed belowAdding the following line of code solved the problem:

queryOperation.qualityOfService = .UserInteractive

The reason why this works must be a timing / load issue. My initial guess would be that this is caused by this line:

queryOperation.queuePriority = .VeryHigh

The documentations states for the .queuePriority this:You should use priority values only as needed to classify the relative priority of non-dependent operations.

The documentation states for the .qualityOfService this: The default value of this property is NSOperationQualityOfServiceBackground and you should leave that value in place whenever possible.

So please try removing both the .queuePriority and .qualityOfService and see if it's working.

Update 2: Apparently this is a CloudKit bug. More people have the same issue. Please report it at https://bugreport.apple.com


I resolved this in the end by turning on the iCloud Drive data setting. This is actually quite hard to find. I'm on ios 14.1. My path to the setting was:

Settings -> Mobile Data - (then right at the bottom of Mobile Data) -> iCloud Drive.

I toggled this on and then everything works.

iCloud Drive data setting location