swift 3获取共享数据的用户信息

时间:2017-05-17 12:37:01

标签: ios swift uiactivityviewcontroller

我正在使用UIActivityViewController分享不同媒体上的数据。如何获取共享数据的用户信息。就像在whatsapp上进行共享而不是人的名字,或者如果通过邮件进行共享而不是使用人的emailID进行共享。

此外,如何获取共享数据的活动名称,如hangout,whatsapp等

3 个答案:

答案 0 :(得分:0)

您无法从UIActivityViewController获取此信息。您可以做的是手动调用操作。例如:

import MessageUI

let messageComposeViewController = MFMessageComposeViewController()
messageComposeViewController.messageComposeDelegate = self
messageComposeViewController.recipients = ["johnny@appleseed.com"]
messageComposeViewController.body = "Lorem ipsum dolor sit amet"
navigationController?.presentViewController(messageComposeViewController, animated: true) {
    // ...
}

import MessageUI

let mailComposeViewController = MFMailComposeViewController()
mailComposeViewController.mailComposeDelegate = self
mailComposeViewController.setToRecipients(["johnny@appleseed.com"])
mailComposeViewController.setSubject("Hello")
mailComposeViewController.setMessageBody("Lorem ipsum dolor sit amet", isHTML: false)
navigationController?.presentViewController(mailComposeViewController, animated: true) {
    // ...
}

答案 1 :(得分:0)

使用默认控件的UIActivityViewController

你无法做到。 你只能通过UIActivityViewController的完成块来获得它成功分享的状态。

Swift 3

let activityVC = UIActivityViewController(activityItems: objectsToShare, applicationActivities: nil)
activityVC.completionWithItemsHandler = {(activity: UIActivityType?, completed: Bool, returnedItems: [Any]?, error: Error?) in

        if (completed == true) {
            print("Share successfully")
        }
    }
    self.present(activityVC, animated: true, completion: nil)

答案 2 :(得分:0)

您的应用无法与iOS中首先不受您控制的应用进行通信。 UIActivityViewController只是将对象分享给其他应用的手段/媒介。只要您传递数据,收件人应用就会照看它需要做什么。