首页 > 解决方案 > Apple Mail(iOS 中的应用程序)中的链接不起作用

问题描述

我们的用户报告说,我们邮件中的链接在 Apple 的邮件应用程序中不可点击,因为它们只是被识别为纯文本(带下划线的蓝色文本)。但是当转发相同的邮件(引用文本)时,链接变得可点击。此问题仅出现在 Apple Mail App 中,而不会出现在任何其他第三方邮件应用程序(如 gmail 等)中。对此有什么原因或解决方法吗?我们是否遗漏了 Mail App 在创建链接时需要特别提及的内容?为什么在转发同一封电子邮件时链接变得可用?这发生在所有 iOS 设备上(在 Ipad 和 Iphone 上测试)

如果需要更好的说明,我们可以提供任何其他信息。

谢谢你

标签: iosiphoneswiftemailapple-mail

解决方案


您确定要在 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)
        }
    }

推荐阅读