我一直在寻找解决问题的方法而没有任何成功......
我开发的应用程序允许用户玩小型测验游戏并将结果作为文本消息发送。一切正常,除非MessageComposeViewController被假设解雇(发送/取消)。
似乎MessageComposeViewController没有调用委托,因为我没有从委托函数获取打印...
我有一个名为SendMessage的独立类,它处理MessageComposeViewController,当用户单击一个按钮时,发送"在ViewController中,我创建了这个类的一个实例并呈现它。
带有发送按钮的ViewController的一部分:
@IBAction func Send(_ sender: Any) {
let sendResult = SendMessage()
if sendResult.canSend() {
let meddelande = sendResult.createMessage(result: 8, name: "Steve Jobs")
present(meddelande, animated: true, completion: nil)
} else {
alert.addAction(alertButton)
self.present(alert, animated: true, completion: nil)
}
}
处理MessageComposeViewController的类叫SendMessage(我留下了一些不相关的代码)
func createMessage(result: Int, name: String) -> MFMessageComposeViewController {
let meddelande = MFMessageComposeViewController()
meddelande.messageComposeDelegate = self
meddelande.recipients = ["PhoneNumber"]
meddelande.body = name + ": " + String(result)
return meddelande
}
func messageComposeViewController(_ controller: MFMessageComposeViewController, didFinishWith result: MessageComposeResult) {
print ("F*ck")
controller.dismiss(animated: true, completion: nil)
}
感谢任何帮助!
答案 0 :(得分:0)
我认为你应该强烈引用它而不是局部变量
let sendResult = SendMessage()
将其声明为实例变量
var sendResult:SendMessage?