2017-02-07 7 views
0

ユーザーが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) 

      }) 
+0

実際の拒否メッセージは何ですか? – dan

+0

今回は、実際に電話をかけました。私は人々に強制的にiCloudにログインさせることができないという説明でした。私はApple IDでログインするように依頼しましたが、これも容認できません。 –

答えて

2

あなたはCloudKitアクセスせずに非機能アプリにするために許可されていません。あなたは、アプリの完全な機能を得るために、iCloudにログインするようにユーザに頼むことができます。 CloudKitにアクセスできないアプリがどのように機能するかは関係ありません。たぶん、アプリに関する指示画面や一般的な情報を表示することができます。また、iCloudログインの検出を実装し、アプリケーションを自動的に再初期化して、ユーザーが終了(実際には強制終了)して再起動する必要がないようにすることもできます。

+0

さて、私はcoredataの店に賭けることを考えていますが、それは残念です。人々がどのデバイスからでも自分の情報にアクセスできるようにしたい –

関連する問題