fetch iCloudId wirft error

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • fetch iCloudId wirft error

    Hallo,

    ich versuche die universelle iCloudId des angemeldeten iCloud-users abzufragen:

    Quellcode

    1. func fetchUserId() {
    2. CKContainer.default().fetchUserRecordID { (recordId, error) in
    3. if let name = recordId?.recordName {
    4. print("iCloud ID: " + name)
    5. } else if let error = error {
    6. print("Error in fetchUserId(): " + error.localizedDescription)
    7. }
    8. }
    9. }

    Es sollte eigentlich nur CloudKit unter > Capabilities < aktiviert sein. Das Entitlement wird automatisch erstellen.
    So ich nun versuche die iCloudId abzufragen, erhalte ich folgendes Ergebnis:


    Quellcode

    1. Error in fetchUserId(): Couldn't get container configuration from the server for container "iCloud.<bundleID>"


    Ich habe das mit dem DefaultContainer, wie auch mit einem attached-Container, probiert. In beiden Fällen wird dieser Fehler geworfen.
    hier der Link:

    stackoverflow.com/questions/29…rrent-user-id-in-cloudkit

    Hat jemand damit Erfahrung oder ist in das selbe Problem gelaufen?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von 322 ()

  • 322 schrieb:

    Quellcode

    1. Error in fetchUserId(): Couldn't get container configuration from the server for container "iCloud.<bundleID>"
    Mit eigener Erfahrung kann ich hier nicht dienen, aber steht in der Log-Ausgabe wirklich <bundleID> oder hast Du das maskiert? Im ersten Fall solltest Du die Definition Deines Containers überprüfen … aber ich vermute letzteres. Sorry!

    Mattes
    Diese Seite bleibt aus technischen Gründen unbedruckt.
  • Problem gelöst. Bei `MyContainer` einfach einen iCloudContainer angeben, den man mal erstellt hat, vollkommen egal welcher (koennen ja nicht gelöscht werden). Dieser Container muss in der App nicht benutzt werden. So keiner vorhanden, einfach einen erstellen. Die iCouldId wird immer die selbe sein, egal, welches device oder welche App auch immer sie abfragt. Man kann den User eindeutig zuordnen.

    Quellcode

    1. struct UserIdFetcher {
    2. func fetchUserId() {
    3. CKContainer(identifier: "iCloud.MyContainer").fetchUserRecordID { (recordId, error) in
    4. if let name = recordId?.recordName {
    5. print("iCloud ID: " + name)
    6. } else if let error = error {
    7. print("Error in fetchUserId(): " + error.localizedDescription)
    8. }
    9. }
    10. }
    11. }
    Alles anzeigen