因此,基本上,我一直在尝试创建一个非常简单的iMessage应用程序,当按下按钮时,它会向会话中插入一条消息,就像在本教程中所看到的那样:我所面临的唯一问题是,当按下按钮时,它会运行该函数,但是,结果不会发生任何事情,我真的不知道为什么会这样。有一段时间,我一直在努力寻找解决这个问题的有效方法,如果有人能快速查看我的代码,指出我哪里出错了,或者我遗漏了什么,我会非常感激的。任何关于这个话题的帮助都将不胜感激,谢谢。
@IBAction func funcSend(_ sender: Any) {
let conversation = activeConversation
let session = conversation?.selectedMessage?.session
let layout = MSMessageTemplateLayout()
layout.caption = "Hi there"
var components = URLComponents()
let queryItem = URLQueryItem(name: "key", value: "value")
components.queryItems = [queryItem]
let message = MSMessage(session: session!)
message.layout = layout
message.url = components.url
message.summaryText = "Sent hi there message"
conversation?.insert(message)
}发布于 2017-10-20 21:25:50
看上去是对的,试着在结尾打电话解散()?
这是适用于我的代码
@IBAction func onSend(_ sender: Any) {
print("sending...")
guard let conversation = activeConversation else { fatalError("Expected a conversation") }
guard let message = composeMessage(session: conversation.selectedMessage?.session)
else { return }
// Add the message to the conversation.
conversation.insert(message) { error in
if let error = error {
print(error)
}
}
// This one
dismiss()
}以及我是如何创造信息的
// MARK: Messaging
func composeMessage(session: MSSession? = nil) -> MSMessage? {
let layout = MSMessageTemplateLayout()
var components = URLComponents()
let caption = URLQueryItem(name: "caption", value: self.melody)
let decodedMelody = URLQueryItem(name: "melody", value: self.melody)
components.queryItems = [caption, decodedMelody]
let message = MSMessage(session: session ?? MSSession())
layout.image = self.screenImage.image
layout.caption = "Melody built with haptic and vibro."
layout.subcaption = "sent via iVibrio"
message.summaryText = "something summary"
if let conversation = activeConversation,
let msg = conversation.selectedMessage{
if msg.senderParticipantIdentifier == conversation.localParticipantIdentifier {
layout.caption = "$\(msg.senderParticipantIdentifier.uuidString) My msg"
}
else{
layout.caption = "$\(msg.senderParticipantIdentifier.uuidString) Edited msg"
}
}
message.url = components.url!
message.layout = layout
return message
}链接到完整的示例/代码
https://stackoverflow.com/questions/46415637
复制相似问题