2015-10-16 1 views
2
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) 
} 

Comment faire la même chose avec Facebook Messenger?Comment puis-je présenter l'application Facebook Messenger dans la vue Contrôleur d'activité pour envoyer un message?

Répondre

0

Si vous souhaitez présenter l'application facebook en UIActivityViewController que de ne pas spécifier de propriété excludedActivityTypes.

Parce que excludedActivityTypes: [String]? //default is nil .`

donc il suffit d'utiliser comme

let activityVC = UIActivityViewController(activityItems: objectsToShare, applicationActivities: [wsActivity]) 

self.presentViewController(activityVC, animated: true, completion: nil) 

il vous montrera toutes les options, y compris facebook, twitter poste.

+0

Il n'y a toujours pas de messagerie Facebook – Malicia

+0

FB Messenger a besoin d'arrangements spéciaux pour ses "objectsToShare". Il est simplement incapable de partager ce que vous voulez partager. Vérifiez leur politique. – himura

2

En ce qui concerne mes recherches, vous ne pouvez pas partager "chaîne" dans FB messenger. Cela a quelque chose à voir avec la politique de messagerie FB (lien de ref perdu pour cela). Afin de partager sur Facebook Messenger, votre "activityItems: objectsToShare" devrait contenir un NSURL. J'ai essayé de partager plusieurs NSRUL et cela n'a pas fonctionné.

Vous pouvez passer un tableau de [String, NSURL] par exemple:

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) 
} 

Vous trouverez à la fois WhatsApp et messager FB montrant dans votre feuille d'actions. Cependant, FB messenger utilisera uniquement le NSURL et ignorera l'élément String dans le tableau AnyObject. WhatsApp montrera le texte suivi par le lien.

Vous pouvez faire ce que vous voulez faire en utilisant le FB SDK. Je ne l'ai pas essayé personnellement cependant.