Отправка и открытие данных в приложении iMessage
Я создаю приложение iMessage для iOS 10, в котором я хотел бы отправить некоторые данные с макетом. Когда пользователь нажимает на отправленный макет, он открывает приложение iMessage и получает доступ к данным, которые также были отправлены. Данные являются строкой.
Должен ли я использовать URL-адрес MSMessage для отправки данных? Когда пользователь нажимает на макет MSMessage в iMessage, как мне снова получить URL?
Спасибо
3 ответа
Да, вы бы использовали MSMessage.URL
отправлять и извлекать данные.
Когда пользователь нажимает на MSMessage,
-(void)didBecomeActiveWithConversation:(MSConversation *)conversation
будет называться. Вы можете получить доступ к выбранному URL-адресу сообщения через переданный объект MSConversation, например, так
NSURL *url = conversation.selectedMessage.URL
В swift 3 вы можете получить URL-адрес из этого переопределенного метода Messageviewcontroller, сохраненный_конверсия является объектом MSConversation
override func willBecomeActive(with conversation: MSConversation){
if(savedConversation?.selectedMessage?.url != nil)
let url = savedConversation?.selectedMessage?.url
UIApplication.shared.open(url, options: [:], completionHandler: nil)
}
MSMessage
"s url
свойство, где вы можете хранить свои пользовательские данные.
Вы также можете использовать библиотеку iMessageDataKit. Это делает настройку и получение данных очень просто, как:
let message: MSMessage = MSMessage()
message.md.set(value: 7, forKey: "user_id")
message.md.set(value: "john", forKey: "username")
message.md.set(values: ["joy", "smile"], forKey: "tags")
print(message.md.integer(forKey: "user_id")!)
print(message.md.string(forKey: "username")!)
print(message.md.values(forKey: "tags")!)
(Отказ от ответственности: я автор iMessageDataKit
)