user6724134
user6724134

Reputation:

How to check if user is signed in into iCloud before saving data

Before saving data into CloudKit, how do I check that user has an account and is signed in?

Upvotes: 1

Views: 882

Answers (1)

Yann Bodson
Yann Bodson

Reputation: 1654

You need to use accountStatusWithCompletionHandler from the CKContainer class and check the accountStatus returned.

This is described in the CloudKit Quick Start documentation.

Here is the Swift version of the example:

    CKContainer.defaultContainer().accountStatusWithCompletionHandler { accountStatus, error in
        if accountStatus == .NoAccount {
            let alert = UIAlertController(title: "Sign in to iCloud", message: "Sign in to your iCloud account to write records. On the Home screen, launch Settings, tap iCloud, and enter your Apple ID. Turn iCloud Drive on. If you don't have an iCloud account, tap Create a new Apple ID.", preferredStyle: .Alert)
            alert.addAction(UIAlertAction(title: "OK", style: .Default, handler: nil))
            self.presentViewController(alert, animated: true, completion: nil)
        } else {
            // Code if user has account here...
        }
    }

Upvotes: 4

Related Questions