MSConversation은 지역 참가자와 원격 참가자를 제공합니다. 그러나 자체 또는 다른 표시 이름을 검색 할 수 없습니다. 이 이름들은 어떻게 구합니까? 내가 CNContactsStore 검색을 시도 위와 같이 https://developer.apple.com/reference/messages/msconversationMSConversation의 참가자 이름은 어떻게 검색합니까?
let ids = activeConversation?.remoteParticipantIdentifiers
let otherId = ids?[0].uuidString
let ownId = activeConversation?.localParticipantIdentifier.uuidString
let predicate = CNContact.predicateForContacts(withIdentifiers: [otherId!]);
do {
let contacts = try CNContactStore().unifiedContacts(matching: predicate, keysToFetch: [CNContactFamilyNameKey, CNContactGivenNameKey, CNContactNicknameKey, CNContactIdentifierKey])
for contact in contacts{
print(contact.givenName)
print(contact.familyName)
print(contact.identifier)
}
} catch let err{
print(err)
}
, MSConversation에서 UUID는 CNContact 다릅니다.
덕분에, 당신은 설명 할 수 달러 부분이 어떻게 생기는거야? 나는 아직 심판을 찾을 수 없다. – user3774630
정말로 솔직히 나는 정말로 모른다. 이것은 WWDC에서오고, 나는 당신과 동의합니다, 그것은 마법의 $입니다. 나는 그것이 SDK에서 오는 것이라고 추측한다. 만약 누군가가 그것에 대해 더 많은 설명을 추가 할 수 있다면 그것은 좋을 것입니다 :) – RomOne
방금 label.text에 할당하려고했는데, NSLog는 전혀 가지 않습니다. 이 번역은 메시지 레이아웃에만 해당됩니다. 기묘한! – user3774630