func pickerView(sender : UIButton) {
let message="text"
let objectsToShare = [message]
let wsActivity = WhatsAppActivity()
let activityVC = UIActivityViewController(activityItems: objectsToShare, applicationActivities: [wsActivity])
activityVC.excludedActivityTypes = [UIActivityTypeAirDrop, UIActivityTypeAddToReadingList,UIActivityTypeCopyToPasteboard,UIActivityTypeSaveToCameraRoll,UIActivityTypePrint]
self.presentViewController(activityVC, animated: true, completion: nil)
}我怎样才能用Facebook messenger做同样的事情?
发布于 2016-01-30 18:13:36
就我的研究而言,你不能在FB messenger中分享"string“。这与FB信使策略有关(这里指的是丢失的链接)。为了在Facebook messenger上分享,你的"activityItems: objectsToShare“应该包含一个NSURL。我尝试过共享多个NSRUL,但没有成功。
您可以传递字符串数组,例如NSURL:
func pickerView(sender : UIButton) {
let message="text"
let url = NSURL(String: "https://www.google.com")!
let objectsToShare = [message, url] //this is now an [AnyObject]
//assuming you are don't have applications to exclude
let activityVC = UIActivityViewController(activityItems: objectsToShare, applicationActivities: [wsActivity])
self.presentViewController(activityVC, animated: true, completion: nil)
} 您会发现whatsapp和FB messenger都会出现在您的共享表中。但是,FB messenger将只使用NSURL,并忽略AnyObject数组中的字符串项。WhatsApp将显示文本,后跟链接。
你也许可以使用FB SDK来做你想做的事情。
发布于 2015-10-16 21:38:42
如果你想在UIActivityViewController中展示facebook app,而不是指定任何excludedActivityTypes属性。
因为excludedActivityTypes: [String]? //default is nil.`
所以只需使用
let activityVC = UIActivityViewController(activityItems: objectsToShare, applicationActivities: [wsActivity])
self.presentViewController(activityVC, animated: true, completion: nil)它将显示所有选项,包括facebook,twitter ext。
https://stackoverflow.com/questions/33169724
复制相似问题