Compartir imágenes usando UIActivityViewController

¿Compartir una image de UIImageView usando UIActivityViewController ?

Estoy intentando compartir una image usando UIActivityViewController , pero obtengo un error:

 func shareIMG(){ let activityItems = [self.imageView.image] let avc = UIActivityViewController(activityItems: activityItems, applicationActivities: nil) self.presentViewController(avc, animated: true, completion: nil) } 

Mensaje de error:

No se puede encontrar un inicializador para el tipo 'UIActivityViewController' que acepte una list de arguments del tipo '(activityItems: [UIImage?], ApplicationActivities: nil)'

¿Algunas ideas?

 let activityItem: [AnyObject] = [self.imageView.image as! AnyObject] let avc = UIActivityViewController(activityItems: activityItem as [AnyObject], applicationActivities: nil) self.presentViewController(avc, animated: true, completion: nil) 

Nota : el código anterior probado en el simulador Xcode 6.3

Simplemente crea un button y es acción. E instale la acción del button como esta.

Nota: Tienes que iniciar session en tu Facebook o Twitter yendo a la configuration. Entonces haz esto.

 @IBAction func onShareTouched(sender: AnyObject) { print("share") let myShare = "My beautiful photo! <3 <3" let image: UIImage = UIImage(named: "yourImageNameHere") let shareVC: UIActivityViewController = UIActivityViewController(activityItems: [(image), myShare], applicationActivities: nil) self.presentViewController(shareVC, animated: true, completion: nil) } 

Código completo trabajando para iPhones y iPads para Swift:

 func share(sender: UIButton){ let img: UIImage = UIImage(named: "lenna")! let messageStr:String = "some sharing text" let shareItems:Array = [img, messageStr] activityViewController = UIActivityViewController(activityItems: shareItems, applicationActivities: nil) activityViewController!.excludedActivityTypes = [UIActivityTypePrint, UIActivityTypePostToWeibo, UIActivityTypeCopyToPasteboard, UIActivityTypeAddToReadingList, UIActivityTypePostToVimeo] if UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiom.Phone { self.presentViewController(activityViewController!, animated: true, completion: nil) } else { let popup: UIPopoverController = UIPopoverController(contentViewController: activityViewController!) popup.presentPopoverFromRect(sender.bounds, inView: sender, permittedArrowDirections: UIPopoverArrowDirection.Any, animated: true) } } 

¡Parece que necesitas desenvolver ActivityItems con un!