1

作成しようとしているメッセージ拡張アプリに問題があります。会話にテキストを挿入しようとすると、何も起こりません。これは私が使用しているものです:

import UIKit
import Messages

class MessagesViewController: MSMessagesAppViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        let sendButton = UIButton(type: UIButtonType.custom)
        sendButton.frame = CGRect(x: view.frame.midX, y: view.frame.midY, width: 100, height: 50)
        sendButton.setTitle("Send", for: UIControlState.normal)
        sendButton.addTarget(self, action: #selector(sendButtonTapped(sender:)), for: UIControlEvents.touchUpInside)
        self.view.addSubview(sendButton)

}



     func sendButtonTapped(sender: UIButton!){

         let layout = MSMessageTemplateLayout()
         layout.caption = "My Survey"
         layout.image = UIImage(named: "myImage")

         let message = MSMessage()
         message.layout = layout

         self.activeConversation?.insert(message, completionHandler: nil)

    }
}

このコードを使用して実行すると、何も起こりません。奇妙な部分は、アプリに変更self.activeConversation?するとself.activeConversation!クラッシュすることです。会話中にアプリが読み込まれたため、なぜこれが起こっているのかわかりません。

4

1 に答える 1

0

これを試すことができますか。

func sendButtonTapped(送信者: UIButton!) {

guard let conversation = activeConversation else { fatalError("Expected a  conversation") }

        let session = conversation.selectedMessage?.session ?? MSSession()

        let message = MSMessage(session: session)

        let layout = MSMessageTemplateLayout()
        layout.image = createImageForMessage(value: GlobalData.sharedManager.cardUrl)
        layout.caption = "Caption"
        layout.imageTitle = GlobalData.sharedManager.cardTitle
        layout.imageSubtitle = "Image subtitle"
        layout.trailingCaption = "Trailing caption"
        layout.subcaption = "Subcaption"
        layout.trailingSubcaption = "Trailing subcaption"
        message.layout = layout

        conversation.insert(message) {error in
                  // empty for now
              }
}}
于 2017-01-02T12:44:28.807 に答える