MSConversation дает нам местного участника и удаленных участников. Однако я не могу получить отображаемое имя себя или другого. Как получить эти имена? https://developer.apple.com/reference/messages/msconversationКак получить имя участников в MSConversation?
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)
}
Как выше я пытался искать CNContactsStore, то UUID от MSConversation отличается от CNContact.
спасибо за "волшебный«$ \ (UUID)», вы можете объяснить как возникает долларовая часть? Я еще не могу найти ссылку – user3774630
Хмм честно, я действительно не знаю. Это происходит из WWDC, и я согласен с вами, это волшебный $. Я предполагаю, что это что-то происходит из SDK. Если бы кто-то мог добавить еще несколько объяснений, было бы здорово :) – RomOne
Я просто попытался присвоить его label.text, NSLog all no go. Похоже, этот перевод относится к макету сообщений. Weird! – user3774630