Во-первых, мне известно об этом сообщении: How to identify iCloud logged in user in airplane mode?Как определить пользователя iCloud, когда телефон находится в режиме полета?
Он, похоже, не имеет ответа. Один ответ говорит об обнаружении подключения к Интернету, а другие говорят о том, что пользователь изменил или не изменился.
Вот мой код:
container.accountStatusWithCompletionHandler{
(status: CKAccountStatus, error: NSError?) in
dispatch_async(dispatch_get_main_queue(), {
var title: String!
var message: String!
if error != nil{
title = "Error"
message = "An error occurred = \(error)"
} else {
//title = "No errors occurred getting info"
switch status{
case .Available:
message = "The user is logged in to iCloud"
title = "GOOD"
print("determined status was available")
self.shouldPullFromICloud()
//self.displayAlertWithTitle(title, message: message)
case .CouldNotDetermine:
message = "Could not determine if the user is logged" +
" into iCloud or not"
title = "BAD"
self.noUserIsSignedIn()
case .NoAccount:
message = "User is not logged into iCloud"
title = "BAD"
self.noUserIsSignedIn()
case .Restricted:
message = "Could not access user's iCloud account information"
title = "BAD"
self.noUserIsSignedIn()
}
print(title, message)
}
})
}
Кажется довольно глупо, что вам нужно подключение к Интернету, чтобы увидеть, если пользователь подписан в ICloud. Как я могу это исправить?
Спасибо!
P.S. Если это другое сообщение содержит ответ на мой вопрос, можете ли вы выделить его для меня? Я не мог найти его. Ура!
Я использую это по другим причинам, но я все еще нужен способ получения пользователя ID независимо от того, если они находятся в режиме самолета или нет я знаю? – lelephant