我正在尝试编写一个程序,当您点击存储在应用程序中的图像时,它会打开一个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")
}
}
谢谢!
答案 0 :(得分:3)
以这种方式试试。
messageVC.addAttachmentData(
imageData,
typeIdentifier: "public.data",
filename: "image.png"
)
答案 1 :(得分:0)
问题在于传递的值为' filename' addAttachmentData函数中的param。它应该有有效的扩展名。即如果您提供png图像数据,则传递的值为' filename'应该是' pic.png'而不是' pic'。也适用于' typeIdentifier'你应该使用kUTTypePNG值(在MobileCoreServices模块中定义)转换为String。
答案 2 :(得分:0)
Swift 4.2 / 5解决方案
const control = enzyme.mount(<Test />);
expect(control.find(<CompToTest />).props().MyProp).toEqual(expectedProp);