ユーザーがCloudKitコンテナにアクセスできるかどうかをテストするため、拒否されたアプリケーションがあります。CloudKitの使用によるアプリケーション拒否
接続されていない場合、私は警告を出し、アプリケーションを終了するように指示します。
私はこれを体験する唯一の人にはなりません。誰にも回避策がありますか?
おかげ..について
は、テストに私が使用しているコードは、Apple TSIエンジニアから私に送られました。ため息..
はここにある:
func isICloudContainerAvailable()->Bool {
print(#function)
CKContainer.default().accountStatus { (accountStatus, error) in
if accountStatus == .available {
print(#function, "accountStatus 1: ", accountStatus)
return
} else {
print(#function, "accountStatus 2: ", accountStatus)
}
DispatchQueue.global().asyncAfter(deadline: .now() + 0.3) {
guard error != nil, accountStatus != CKAccountStatus.available else {return}
print(#function, "accountStatus 3: ", accountStatus)
print("iCloud account is not available! Be sure you have signed in iCloud on this device!")
}
}
if FileManager.default.ubiquityIdentityToken != nil {
print("User logged in")
return true
}
else {
print("User is not logged in")
return false
}
}
そして機能が、ここで使用されます。
if !isICloudContainerAvailable() {
let alertController = UIAlertController(title: "Uh-oh", message: "You must be signed into iCloud \nto use this app.\nPlease quit, log in to iCloud using the 'Settings' app\nand try again", preferredStyle: .alert)
let defaultAction = UIAlertAction(title: "OK", style: .default, handler: nil)
alertController.addAction(defaultAction)
self.present(alertController, animated: true, completion: nil)
})
実際の拒否メッセージは何ですか? – dan
今回は、実際に電話をかけました。私は人々に強制的にiCloudにログインさせることができないという説明でした。私はApple IDでログインするように依頼しましたが、これも容認できません。 –