Swift 3 - 发送带有图像的消息 - 未确定的文字

Swift 3 - Sending message with image - Undetermined Literal

目前正在尝试打开带有图像的 MFMessageComposeViewController,但我在旧代码中发现的 typeIdentifier 似乎不合适,而且我找不到任何相关文档将图像附加到消息中,而不是将图像复制到 PasteBoard/clipboard 然后让用户手动将其粘贴到消息中。

func sendMessageWith(imageData: Data) -> MFMessageComposeViewController? {
  if MFMessageComposeViewController.canSendText() == true {
      let composeVC = MFMessageComposeViewController()
      composeVC.messageComposeDelegate = self
      composeVC.addAttachmentData(imageData, typeIdentifier: kUTTypeJPEG, filename: "image.jpg")

      print("OK")
      return composeVC
    }

  print("Try Again")
  return nil
}

您需要导入MobileCoreServices框架:

import MobileCoreServices

其中包含 UTCoreTypes header 其中包含 kUTTypeJPEG.

并且您必须将常量转换为 String 因为它是 CFString:

composeVC.addAttachmentData(
    imageData,
    typeIdentifier: kUTTypeJPEG as String,
    filename: "image.jpg"
)