我正在使用UIActivityViewController
分享不同媒体上的数据。如何获取共享数据的用户信息。就像在whatsapp上进行共享而不是人的名字,或者如果通过邮件进行共享而不是使用人的emailID进行共享。
此外,如何获取共享数据的活动名称,如hangout,whatsapp等
答案 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的完成块来获得它成功分享的状态。
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
只是将对象分享给其他应用的手段/媒介。只要您传递数据,收件人应用就会照看它需要做什么。