accountStatusWithCompletionHandler
方法返回.NoAccount
值。知道为什么返回值不是.Available
?我登录到iCloud,并连接到互联网。
Doc说.NoAccount
表示:
用户的iCloud帐户无法使用,因为没有帐户 已为此设备提供信息。
我没有收到任何错误。原因可能是app没有使用私有数据库? Doc说:
在访问私有数据库之前调用此方法以确定 该数据库是否可用。
答案 0 :(得分:2)
想通了,iCloud Drive已关闭该应用程序。
答案 1 :(得分:0)
此代码示例显示iCloud的状态。可能请求权限或促销用户登录.NoAccount
案例。我认为这是你没有连接到iCloude的情况。
let container = CKContainer.defaultContainer()
container.accountStatusWithCompletionHandler({status, error in
switch status {
case .Available, .Restricted:
container.requestApplicationPermission(CKApplicationPermissions.PermissionUserDiscoverability,
completionHandler: { applicationPermissionStatus, error in
// handle applicationPermissionStatus for statuses like CKApplicationPermissionStatus.Granted, .Denied, .CouldNotComplete, .InitialState
})
case .CouldNotDetermine, .NoAccount:
// Ask user to login to iCloud
}
})