This sample code shows the status with iCloud. Perhaps request permission or a promotional user to log in .NoAccount . I think this is the case when you are not connected to iCloude.
let container = CKContainer.defaultContainer() container.accountStatusWithCompletionHandler({status, error in switch status { case .Available, .Restricted: container.requestApplicationPermission(CKApplicationPermissions.PermissionUserDiscoverability, completionHandler: { applicationPermissionStatus, error in
source share