2016-11-26 8 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 = «> «; }

Информационная переменная отображается как ноль при отладке.

Любые мысли?

+0

Если '' info' является nil', а затем войти 'fetchError'. – rmaddy

+0

И «информация», и «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) 
      }) 
     } 
    } 

 Смежные вопросы

  • Нет связанных вопросов^_^