1

我已经成功创建了一个 iMessage 扩展,发件人可以在其中选择图像,在图像顶部键入文本,然后将新图像和文本组合发送给另一个收件人。

目前,当收件人点击收到的消息时,它会将他们带到 iMessage App Store 下载该应用程序。

我希望收件人不会被重定向到应用商店,而只是显示他们收到的图像的更大视图。

任何有关如何实现此目标的帮助(如果可能)将不胜感激!


编辑:经过更多研究,我想知道是否可以将新创建​​的图像(包含图像和文本组合)作为 MSSticker 发送,这样当用户点击它时,它只会放大?

4

2 回答 2

0

Sending the image as a Message follows the MSMessage format (clicking on the message will direct a user to the app or app store). You can either send the image as a sticker or insert the image into the conversation!

于 2017-07-27T14:42:27.913 回答
0

(以防有人在寻找迟来的启蒙)。

如果您将创建的图像作为附件发送,则它仅作为图像出现在接收者的流中,而不与应用程序关联。只有当您发送MSMessage签名匹配时才会启动并要求接收者拥有应用程序。

请参阅我的不可信示例以获取演示,特别是

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()
}
于 2019-01-28T15:35:42.853 回答