我已成功创建了一个iMessage扩展程序,其中发件人可以选择图像,在图像顶部键入文本,然后将新图像和文本发送到另一个收件人。
目前,当收件人点击收到的邮件时,会将他们带到iMessage App Store下载应用程序。
我希望收件人不会被重定向到应用程序商店,而只是向他们展示他们收到的图片的更大视图。
如何实现这一目标(如果可能的话)的任何帮助都将不胜感激!
编辑: 经过更多的研究,我想知道是否可以将新创建的图像(包含图像和文本组合)作为MSSticker发送,因此当用户点击它时,它只是放大了?
答案 0 :(得分:0)
将图像作为消息发送遵循MSMessage格式(单击消息将指导用户访问应用程序或应用程序商店)。您可以将图像作为贴纸发送,也可以将图像插入对话中!
答案 1 :(得分:0)
(如果有人在寻找迟来的启示)。
如果您发送的图像是作为附件发送的,则它会在接收者的信息流中仅显示为图像,而不与应用程序关联。仅当您发送MSMessage
时,签名匹配才会生效,并要求接收者拥有该应用。
查看我的im-plausibilities sample演示,specifically
func sendAttachment() {
guard let conversation = activeConversation else { fatalError("Expected a conversation") }
guard
let imageData = imageView?.image?.jpegData(compressionQuality: 0.8),
let docUrl = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first
else {
dismiss()
return
}
// WARNING this is not great practice - not robust if muliple messages sent without completing upload
attachmentPath = URL(fileURLWithPath: "imPhoto.jpg", relativeTo: docUrl)
if (try? imageData.write(to: attachmentPath!)) != nil {
conversation.insertAttachment(attachmentPath!, withAlternateFilename: "imPhoto.jpg") { (error) in
if let error = error {
os_log("Error with insertAttachment(message)")
print(error)
}
}
}
dismiss()
}