Comparta un video y texto en Twitter, Instagram y otros servicios utilizando UIActivityViewController

Estoy tratando de compartir un video y un texto en Instagram, Facebook, Twitter y los servicios nativos como Correo, Mensajes, ... No puedo encontrar la manera de hacer que ambos, Instagram y Twitter, aparezcan en la hoja de acciones para compartir:

Si paso una matriz de texto y una URL como elementos de actividad en el controlador, solo aparece Instagram, pero no Twitter.

let url: NSURL = NSURL() // a url that directs to a video
let items: [AnyObject] = ["Check out this video", url]    
let shareable = UIActivityViewController(activityItems: items, applicationActivities: nil)

controller.presentViewController(shareable,
                               animated: true,
                               completion: nil)

Si creo una clase que implementa el protocolo UIActivityItemSource en su lugar y la uso como actividadItems, solo aparece Twitter, pero no Instagram:

class VideoActivityItemSource: NSObject, UIActivityItemSource {

    private let videoUrl: NSURL
    private let shareText = "View the full video here!"

    init(url: NSURL) {
        self.videoUrl = url
    }

    func activityViewControllerPlaceholderItem(activityViewController: UIActivityViewController) -> AnyObject {
        return ""
    }

    func activityViewController(activityViewController: UIActivityViewController, itemForActivityType activityType: String) -> AnyObject? {
        switch activityType {

        case UIActivityTypePostToFacebook:
            return self.videoUrl
        case UIActivityTypeMail:
            return self.videoUrl
        default:
            return ["text": self.shareText, "url": self.videoUrl]
        }
    }

    func activityViewController(activityViewController: UIActivityViewController, subjectForActivityType activityType: String?) -> String {
        return "Hey check this new cool app!!!"
    }

    func activityViewController(activityViewController: UIActivityViewController, thumbnailImageForActivityType activityType: String?, suggestedSize size: CGSize) -> UIImage? {
        return nil
    }
}

y luego reemplace los elementos por esto:

items = [VideoActivityItemSource(url: url)]

No tengo idea de por qué en este caso Twitter no aparecerá en la hoja de acción. ¿Alguien tiene una idea de cómo resolver esto?

Respuestas a la pregunta(2)

Su respuesta a la pregunta