不能预先填入手机号码和邮件正文在iPhone上的短信链接时的短信应用没有在后台
问题描述:
HTML允许您与SMS应用程序中使用这个链接轻松交互运行:不能预先填入手机号码和邮件正文在iPhone上的短信链接时的短信应用没有在后台
<a href="sms:">Send a SMS</a>
然而不同的操作系统允许使用您还预填充的电话号码和邮件正文:
<a href="sms:1234567890?body=Pre-Populted%20Message">Link</a>
在Android或
<a href="sms:1234567890&body=Pre-Populted%20Message">Link</a>
在iOS 8+
这当然在this question.
然而我注意到,我似乎无法找到一个解决方案的iPhone的一个问题解释说:如果SMS应用程序无法运行点击链接将打开短信应用程序,但不会在新消息中预先填充电话号码和消息正文。
由于Google AdWords使用的是this functionality too,我也测试了他们的链接,但不幸的是他们遭受同样的问题,所以我怀疑是否有解决方案,但仍想与社区进行核对。
答
你应该使用MessageUI包装苹果
的import MessageUI
和里面的viewController编写代码来发送消息
if MFMessageComposeViewController.canSendText() {
let vc = MFMessageComposeViewController()
vc.messageComposeDelegate = self
vc.recipients = ["PHONE_NUMBER"]
vc.body = "MESSAGE_BODY"
self.presentVC(vc)
}
不要忘记实现委托功能 // MARK: - MessageUI代表
extension VIEWCONTROLLER_CLASS: MFMessageComposeViewControllerDelegate, MFMailComposeViewControllerDelegate {
func messageComposeViewController(_ controller:
MFMessageComposeViewController, didFinishWith result:
MessageComposeResult) {
switch result {
case .cancelled:
controller.dismiss(animated: true, completion: nil)
case .sent:
controller.dismiss(animated: true, completion: nil)
case .failed:
controller.dismiss(animated: true, completion: nil)
}
}
func mailComposeController(_ controller: MFMailComposeViewController, didFinishWith result: MFMailComposeResult, error: Error?) {
controller.dismiss(animated: true, completion: nil)
}
}
看起来像iOS应用程序的解决方案。我需要一个网络解决方案。 – DMEM
对不起,我认为这是iOS应用程序的问题。我不知道网站 – SandsHell811