sách gpt4 ai đã đi

iOS10 iMessage : Unable to insert data into iMessage using MSConversation

In lại 作者:可可西里 更新时间:2023-11-01 01:29:38 26 4
mua khóa gpt4 Nike

在我的项目中,我添加了 iMessage Extension,但我无法从 UITableview 发送所选数据(需要发送所选行数据)

tuyên bố

 var savedConversation: MSConversation?

我想在用户 didselectRow - Tableview 时发送文本,但它不会抛出任何错误,甚至不会转到 MSConversation 完成 block

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let message = MSMessage()
let layout = MSMessageTemplateLayout()
layout.caption = "Win Notification"//post.title
layout.subcaption = "Can share now through win"
layout.trailingSubcaption = "share"
message.url = "http://.."
message.layout = layout


savedConversation?.insert(message, completionHandler: { (error) in
if error == nil {

//error nothing so do something

}khác{


print("error in inserting -- \(error)")
}
})

引用链接https://www.captechconsulting.com/blogs/ios-10-imessages-sdk-creating-an-imessages-extension

https://discussions.apple.com/thread/7612113?start=0&tstart=0

1 Câu trả lời

这段代码对我有用

第一步

创建 iMessage 扩展

第二步

转到 MessagesViewController(由扩展创建)

class MessagesViewController: MSMessagesAppViewController {

// ****This code written just for your sample reference********

override func viewDidLoad() {
let button = UIButton(type: .system)
button.sizeToFit()
view.addSubview(button)
loginButton.setTitle("Click to Insert Message!", for: [])
loginButton.addTarget(self, action: #selector(sendMessage(_:)), for: .touchUpInside)
}
}

在 iMessage 中插入消息

func sendMessage(_ sender:UIButton) {
let message = composeMessage(customMessage: "Too good!!! & Easy", caption: "Notify:", subCaption:"Caption", trailingCaptionn: "Subcaption", trailingSubcaptionn: "trailing sub caption")

self.activeConversation?.insert(message) // Inserts Message
}

使用可用选项创建消息[此方法返回消息]

func composeMessage(customMessage: String, caption: String, subCaptionn: String, trailingCaptionn: String, trailingSubcaptionn: String) -> MSMessage {
var components = URLComponents()

// create a query item from our custom message
let item = URLQueryItem(name: "MyCustomMessage", value: customMessage)

// put it into an array of query items
var items = [URLQueryItem]()
items.append(item)
components.queryItems = items

// tell messages to use the default message template layout
let layout = MSMessageTemplateLayout()
layout.caption = caption
layout.subcaption = subCaptionn
layout.trailingCaption = trailingCaptionn
layout.trailingSubcaption = trailingSubcaptionn
// create a message and tell it the content and layout
let message = MSMessage()
message.url = components.url!
message.layout = layout

// return it for sending
return message
}

检查此委托(delegate)是否收到消息

override func didReceive(_ message: MSMessage, conversation: MSConversation) {
// Called when a message arrives that was generated by another instance of this
// extension on a remote device.

// Use this method to trigger UI updates in response to the message.
guard let messageURL = message.url else { return }
guard let urlComponents = NSURLComponents(url: messageURL, resolvingAgainstBaseURL: false), let queryItems = urlComponents.queryItems else { return }

print("URL Components", urlComponents)
print("queryItems", queryItems)

for item in queryItems {
print("Received \(item.name) with value \(item.value)")
}

}




}

引用和帮助来源:https://www.hackingwithswift.com/ios10

关于iOS10 iMessage : Unable to insert data into iMessage using MSConversation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39571141/

26 4 0
Bài viết được đề xuất: javascript - 对象字面量中的箭头函数
Bài viết được đề xuất: java - 使用 Java、Dozer 和 Hibernate 将 DTO 映射和更新到数据库
Bài viết được đề xuất: javascript - 如何从 Promise 中提取数据
Bài viết được đề xuất: java - 如何在 Wicket 中使用 Guice Servlet
可可西里
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com