2016-07-10 10 views

Antwort

1

Verwenden Sie CKContainer.discoverUserIdentity(withUserRecordID:) in Kombination mit CKContainer.fetchUserRecordID, um ein Objekt CKUserIdentity für den aktuellen Benutzer zu erhalten. Sie können dann einen PersonNameComponentsFormatter verwenden, um ihren Namen von der nameComponents Eigenschaft der Identität abzurufen.

5

konnte ich es mit diesem in XCode 8 zum Laufen bringen iOS 10 Beta 2:

CKContainer.default().requestApplicationPermission(.userDiscoverability) { (status, error) in 
      CKContainer.default().fetchUserRecordID { (record, error) in 
       CKContainer.default().discoverUserIdentity(withUserRecordID: record!, completionHandler: { (userID, error) in 
        print(userID?.hasiCloudAccount) 
        print(userID?.lookupInfo?.phoneNumber) 
        print(userID?.lookupInfo?.emailAddress) 
        print((userID?.nameComponents?.givenName)! + " " + (userID?.nameComponents?.familyName)!) 
       }) 
      } 
     } 
+0

Anscheinend sind Sie richtig, dass die requestApplicationPermission erforderlich ist. Ohne es ruft discoverUserIdentity den Beendigungshandler sowohl mit userID als auch mit den Fehlerparametern nil ungerade auf. Wenn Sie jedoch requestApplicationPermission aufrufen, wird dem Benutzer eine sehr verwirrende Warnmeldung angezeigt: "Nutzern die Verwendung der App erlauben, um Sie per E-Mail zu suchen?" – LenK

0
let container = CKContainer.defaultContainer() 

container.fetchUserRecordIDWithCompletionHandler { (recordId, error) in 
    if error != nil { 
     print("Handle error)") 
}else{                   

self.container.discoverUserInfoWithUserRecordID(
     recordId!, completionHandler: { (userInfo, error) in 
      if error != nil { 
       print("Handle error") 
      }else{ 
       if let userInfo = userInfo { 
        print("givenName = \(userInfo.displayContact?.givenName)") 
        print("familyName = \(userInfo.displayContact?.familyName)") 
       }else{ 
        print("no user info") 
       } 
      } 
      }) 
     } 
     } 
Verwandte Themen