如何制作只显示当前消息的 iMessage 应用程序?
How to make an iMessage app that only shows the current message?
我正在制作 iMessage 游戏。我只希望显示当前的 iMessage 会话,并将之前的所有会话最小化。对于回合制游戏,我不希望用户返回并查看之前的所有动作。
如何使用 iOS 10 和 Swift 来完成?
您想对对话中的所有消息使用单个 MSSession。
1. session变量(声明在main class)
class MessagesViewController: MSMessagesAppViewController {
var session: MSSession?
...
}
2。设置会话(当应用程序激活时)
override func willBecomeActive(with conversation: MSConversation) {
if let selected = conversation.selectedMessage {
session = selected.session
}
}
3。使用会话(构建 MSMessage 时)
if session == nil {
session = MSSession()
}
let message = MSMessage(session: session!)
完整代码示例
class MessagesViewController: MSMessagesAppViewController {
var session: MSSession?
override func willBecomeActive(with conversation: MSConversation) {
if let selected = conversation.selectedMessage {
session = selected.session
}
}
func buildMessage() {
if session == nil {
session = MSSession()
}
let message = MSMessage(session: session!)
...
}
}
我正在制作 iMessage 游戏。我只希望显示当前的 iMessage 会话,并将之前的所有会话最小化。对于回合制游戏,我不希望用户返回并查看之前的所有动作。
如何使用 iOS 10 和 Swift 来完成?
您想对对话中的所有消息使用单个 MSSession。
1. session变量(声明在main class)
class MessagesViewController: MSMessagesAppViewController {
var session: MSSession?
...
}
2。设置会话(当应用程序激活时)
override func willBecomeActive(with conversation: MSConversation) {
if let selected = conversation.selectedMessage {
session = selected.session
}
}
3。使用会话(构建 MSMessage 时)
if session == nil {
session = MSSession()
}
let message = MSMessage(session: session!)
完整代码示例
class MessagesViewController: MSMessagesAppViewController {
var session: MSSession?
override func willBecomeActive(with conversation: MSConversation) {
if let selected = conversation.selectedMessage {
session = selected.session
}
}
func buildMessage() {
if session == nil {
session = MSSession()
}
let message = MSMessage(session: session!)
...
}
}