Swift : 使用 UIActivityViewController 分享图片

Swift : Share image using UIActivityViewController

我想使用 ActivityViewController 通过点击按钮分享 QR 图片。

下面是我用过的代码:

@IBAction func btnShareQRCode_Clicked(sender: UIButton) {
        self.shareQRCodeUsingActivityViewController(self.imageviewQRCode.image!)
    }

func shareQRCodeUsingActivityViewController(imageParamater: UIImage) {
        let activityItem: [UIImage] = [imageParamater as UIImage]

        let objActivityViewController = UIActivityViewController(activityItems: activityItem as [UIImage], applicationActivities: nil)
        objActivityViewController.excludedActivityTypes = [UIActivityTypeAirDrop, UIActivityTypeAddToReadingList]

        // objActivityViewController.popoverPresentationController?.sourceView = sender
        self.presentViewController(objActivityViewController, animated: true, completion: {
            objActivityViewController.completionWithItemsHandler = { activity, success, items, error in

                if !success { print("cancelled")
                    return
                }

                if activity == UIActivityTypeMail {
                    print("mail")
                }
                else if activity == UIActivityTypeMessage {
                    print("message")
                }
                else if activity == UIActivityTypeSaveToCameraRoll {
                    print("camera")
                }
            }
        })
    }

    func completionHandler() {
    }

这个问题是它在邮件上崩溃,指出有关 MailComposer 的错误。

我想知道应该如何以及在何处处理这些 MailComposer 函数?

如果你在iOS模拟器上运行这个,邮件组件很可能会失败。

除此之外,我认为您不需要将 activity 项列表转换为 UIImage。只需将对象数组作为 activityItems 数组。