iCloud syncing requires iCloud Drive?

Does iCloud Drive need to be enabled in order to determine whether someone is signed into iCloud? Because it seems like it does, which I don't recall reading anywhere before.

With iCloud Drive disabled, a call to CKContainer.default().accountStatus() returns status: CKAccountStatus.noAccount, error: nil

With iCloud Drive enabled, the same call returns status: CKAccountStatus.available, error: nil.

I had a user report that syncing wasn't working, and it turned out that she had disabled iCloud Drive, not knowing what it was or whether it benefited her.

  • Yes, in my experience, CloudKit only works when the user is signed into iCloud and iCloud Drive is enabled.

    it is better than it used to be… for years, CKContainer.default().accountStatus() would return .available even when iCloud Drive was disabled. That changed in the few years.

Add a Comment