2016-11-26 47 views
0

我正在嘗試獲取CloudKit用戶的名和姓。CloudKit UserRecordID - 無用戶身份回撥

下面是代碼:

container.fetchUserRecordID { (recordID, error) in 
     guard error == nil else { return } 
     guard let recordID = recordID else { return } 

     self.container.discoverUserInfo(withUserRecordID: recordID) { (info, fetchError) in 
      // use info.firstName and info.lastName however you need 
      print(info?.displayContact?.givenName) 
     } 
    } 

運行打印線當我得到以下消息:[LogFacilityCK]得到沒有用戶標識的用戶發現進度回調:{ FetchInfo =「> 「; }

調試時info變量顯示爲零。

有什麼想法?

+0

如果'info'是'nil',然後登錄'fetchError'。 – rmaddy

+0

'info'和'fetchError'都是'nil' – bmoc89

+0

@rmaddy對於爲什麼都是零的任何想法? – bmoc89

回答

0

這裏就是我得到了用戶的名稱:

CKContainer.default().requestApplicationPermission(.userDiscoverability) { (status, error) in 
     CKContainer.default().fetchUserRecordID { (record, error) in 
      CKContainer.default().discoverUserIdentity(withUserRecordID: record!, completionHandler: { (userID, error) in 
       userName = (userID?.nameComponents?.givenName)! + " " + (userID?.nameComponents?.familyName)! 
       print("CK User Name: " + userName) 
      }) 
     } 
    }