2016-04-11 6 views
0

Ich versuche, das Profilbild eines Benutzers aus seinem iCloud-Konto zu ziehen. Ich verwende CloudKit und überprüfe, ob der Benutzer ein iCloud-Konto besitzt und Erforschungsberechtigungen beantragt. Ich bin mir nicht sicher, ob das möglich ist, aber wenn es so wäre, würde ich gerne wissen wie. Hier ist der relevante Code:Zugreifen auf Benutzerprofilbild von iCloud-Konto

zu iCloud-Konto zu überprüfen:

[[CKContainer defaultContainer] accountStatusWithCompletionHandler:^(CKAccountStatus accountStatus, NSError *error) { 
    if (accountStatus == CKAccountStatusAvailable) 
    { 
     self.shouldLogin = YES; 
    } 
    else 
    { 
     self.shouldLogin = NO; 
    } 
}]; 

Um ihr Profil-Bild ziehen aus ihrem iCloud-Account:

[[CKContainer defaultContainer] requestApplicationPermission:CKApplicationPermissionUserDiscoverability completionHandler:^(CKApplicationPermissionStatus applicationPermissionStatus, NSError * _Nullable error) { 
    if (applicationPermissionStatus == CKApplicationPermissionStatusGranted) 
    { 
     [[CKContainer defaultContainer] discoverUserInfoWithUserRecordID:self.dataStore.user.userID completionHandler:^(CKDiscoveredUserInfo * _Nullable userInfo, NSError * _Nullable error) { 
      NSData *imageData = userInfo.displayContact.imageData; 
      UIImage *profileImage = [UIImage imageWithData:imageData]; 
      self.profileImageView.image = profileImage; 
     }]; 
    } 
}]; 
+0

Ich verstehe diese Frage nicht? Dieser Code funktioniert? ja oder Nein? Es berichtet und Fehler, liefert einfach nichts? Sind Sie sicher, dass diese Daten in CK vorhanden sind? Kannst du eine technische Referenz geben? Ist dies eine öffentliche API oder eine private API? – user3069232

Antwort

0

Sie nicht mehr als eine eindeutige ID bekommen und Vor- und Nachname eines iCloud-Benutzers. Wenn Sie weitere Informationen wünschen, müssen Sie alle Benutzer nach diesen Daten fragen.

+0

Danke Edwin, wie würde ich das machen? Oder meinst du, ich muss den Benutzer durch einen Prozess gehen lassen, bei dem er ein Profilbild auswählt? –

+0

Ja, das habe ich gemeint. Es gibt keine Möglichkeit, andere iCloud-Kontoinformationen abzurufen. Wenn Sie mehr wie ein Profilbild möchten, müssen Sie alle Benutzer bitten, ein Profilbild in Ihrer App hochzuladen. –