![](/img/trans.png)
[英]Is there anyway for me to send a PDF and PNGs by text using MFMessageComposeViewController() in Swift?
[英]Swift How to Send Url in Text Message with MFMessageComposeViewController
如何通過 MFMessageComposeViewController 發送 url?
當您從 Safari 共享 url 時,它會顯示豐富的鏈接預覽。 但是,我只能將 url 作為純文本傳遞。
這是我的代碼,僅將鏈接顯示為純文本:
import MessageUI
class testVC: UIViewController, MFMessageComposeViewControllerDelegate {
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
sendText(toPhoneNumber: "1001001000", url: URL(string: "https://stackoverflow.com/questions/ask")!)
}
func sendText(toPhoneNumber: String?, url: URL) {
if MFMessageComposeViewController.canSendText() {
let messageVC = MFMessageComposeViewController()
messageVC.body = "\(url)"
if let number = toPhoneNumber {
messageVC.recipients = [number]
}
messageVC.messageComposeDelegate = self
self.present(messageVC, animated: true, completion: nil)
} else {print("Cannot send message. Error.")}
}
func messageComposeViewController(_ controller: MFMessageComposeViewController, didFinishWith result: MessageComposeResult) {
controller.dismiss(animated: true, completion: nil)
}
}
如何通過文本發送 url?
它是自動的,取決於相關 url 網頁上的元數據。
iOS 和 macOS 中的消息將自動為人們發送的鏈接生成內聯預覽。 默認情況下,這些呈現為灰色氣泡,顯示頁面標題、域和小圖標。 通過在您的網站頁面上添加少量 Open Graph 元數據,您可以通過顯示圖像和有意義的標題使這些 iMessage 鏈接預覽看起來很棒。
https://developer.apple.com/library/archive/technotes/tn2444/_index.html
例如,在您的代碼中嘗試以下 URL 用於測試目的:
你應該得到這樣的預覽:
網頁本身包括圖像和標題的元數據。
<meta property="og:title" content="iPhone" />
<meta property="og:image" content="https://www.apple.com/v/iphone/home/t/images/home/og.png?201610171354" />
上面的元數據在預覽中添加了標題和圖像。 沒有它,您將無法獲得預覽。
您可以通過更新要為其生成預覽的頁面的元數據來測試這一點。
如果您正在為其生成預覽的網頁不受您的控制,您的替代方法是:
總而言之:您的 iOS 代碼不負責生成預覽 - 它是實際 URL 網頁上的元數據。
如果此答案解決了您的問題,請將其標記為正確。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.