ios - Apple Mail(iOS 中的应用程序)中的链接不起作用
问题描述
我们的用户报告说,我们邮件中的链接在 Apple 的邮件应用程序中不可点击,因为它们只是被识别为纯文本(带下划线的蓝色文本)。但是当转发相同的邮件(引用文本)时,链接变得可点击。此问题仅出现在 Apple Mail App 中,而不会出现在任何其他第三方邮件应用程序(如 gmail 等)中。对此有什么原因或解决方法吗?我们是否遗漏了 Mail App 在创建链接时需要特别提及的内容?为什么在转发同一封电子邮件时链接变得可用?这发生在所有 iOS 设备上(在 Ipad 和 Iphone 上测试)
如果需要更好的说明,我们可以提供任何其他信息。
谢谢你
解决方案
您确定要在 mailTo: 链接文本中添加链接属性吗?
您可能想在设置邮件内容属性文本时尝试一下。
let attrText = NSMutableAttributedString.init(string: "Email me")
let mailLink = "mailTo:test@example.com"
let url = NSURL.init(string: mailLink) as NSURL?
attrText.addAttribute(NSAttributedStringKey.link, value: url ?? "", range: NSMakeRange(0, attrText.length))
let documentAttributes = [NSAttributedString.DocumentAttributeKey.documentType : NSAttributedString.DocumentType.html]
do {
let htmlData = try! attrText.data(from: NSMakeRange(0, attrText.length), documentAttributes:documentAttributes)
if let htmlString = String(data:htmlData, encoding:String.Encoding.utf8) {
let messageVC = MFMailComposeViewController()
messageVC.setMessageBody(htmlString, isHTML: true)
}
}
推荐阅读
- html - 无法使正则表达式对 HTML 模式属性起作用
- ios - 如何从 Mac 控制台上的 iOS App 获取 print() 函数的日志?
- angular - 将数据绑定到 Angular 中的非本地 html 属性
- javascript - 将 {} 中的新对象添加到数组
- r - 使用 ggplot2 + gridExtra 进行无边界合并和调整绘图大小
- java - 将 SSL 证书安装到 Java 密钥库时出现问题
- python - 如何使用机器人框架在终端中执行命令?
- windows - 如何获取在 windows .bat 文件中捕获的命令中的所有参数
- angular - 如何增加 ag-grid 中自定义过滤器列表的宽度?
- php - 当我使用输入标签作为提交按钮时如何更改占位符