Быстрое прикрепление изображения к iMessage
Я пытаюсь написать программу, которая при нажатии на изображение, сохраненное в приложении, открывает iMessage с изображением в теле, готовом к отправке. Это работает за исключением того, что изображение появляется в тексте в виде файла с именем, которое вы можете открыть с помощью Dropbox или какого-либо подобного приложения. Есть ли способ на самом деле поместить изображение в текст, например, когда вы отправляете фотографию из вашей библиотеки? Вот код моего сообщения:
func launchMessageComposeViewController(image: UIImage) {
if MFMessageComposeViewController.canSendText() {
let messageVC = MFMessageComposeViewController()
messageVC.messageComposeDelegate = self
var imageData = UIImagePNGRepresentation(image)
messageVC.addAttachmentData(imageData!, typeIdentifier: "png", filename: "pic")
self.presentViewController(messageVC, animated: true, completion: nil)
}
else {
print("User hasn't setup Messages.app")
}
}
Спасибо!
2 ответа
Попробуйте это так.
messageVC.addAttachmentData(
imageData,
typeIdentifier: "public.data",
filename: "image.png"
)
Проблема заключается в значении, которое передается как параметр "имя файла" в функции addAttachmentData. Он должен иметь действительное расширение. то есть, если вы предоставляете данные изображения png, значение, передаваемое как "имя файла", должно быть "pic.png", а не "pic". Также для typeIdentifier вы должны использовать значение kUTTypePNG (определенное в модуле MobileCoreServices), приведенное к String.