iphone - responder - adjunte un video local usando UIActivityViewController
como responder un correo y adjuntar un archivo en iphone (3)
Estoy escribiendo una aplicación para iOS que tiene videos guardados localmente (.mov). Estoy intentando adjuntar el video a través de UIActivityViewController. Funciona muy bien para el correo electrónico. El video se adjuntó y se envió con éxito. También funciona al guardar en el rollo de la cámara.
No funciona cuando se adjunta a Mensajes. Solo se muestra el texto. Además, Twitter y Facebook ni siquiera aparecen. Cuando elimino el archivo adjunto de video, Twitter y Facebook finalmente comienzan a mostrarse. Realmente no me preocupan demasiado los Mensajes, pero ¿alguien puede decirme por qué Facebook y Twitter no aparecen?
Aquí está mi código:
- (IBAction) shareVideo {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *URL = [documentsDirectory stringByAppendingPathComponent:demoName];
NSString* someText = demoName;
NSURL *urlToShare = [NSURL fileURLWithPath:URL isDirectory:NO];
NSArray* dataToShare = @[someText, urlToShare];
UIActivityViewController* activityViewController =
[[UIActivityViewController alloc] initWithActivityItems:dataToShare
applicationActivities:nil];
activityViewController.excludedActivityTypes = @[UIActivityTypePrint,UIActivityTypeCopyToPasteboard,UIActivityTypeAssignToContact];
activityViewController.completionHandler = ^(NSString *activityType, BOOL completed) {
//if (completed) {
[self dismissViewControllerAnimated:YES completion:nil];
//}
};
[self presentViewController:activityViewController animated:YES completion:nil];
}
están ocultos porque no puedes mostrar movs en fb twitter o en sms
Las otras respuestas están desactualizadas. Esto funciona:
@IBAction func didTapShare(sender: AnyObject) {
let videoURL = NSURL(fileURLWithPath:localVideoPath)
let activityItems = [videoURL, "Check this out!" ]
let activityController = UIActivityViewController(activityItems: activityItems, applicationActivities: nil)
activityController.popoverPresentationController?.sourceView = self.view
activityController.popoverPresentationController?.sourceRect = self.view.frame
self.presentViewController(activityController, animated: true, completion: nil)
}
No puede compartir videos en Facebook, Twitter o en sms en iOS 6 o inferior. Solo está disponible en iOS7.
Además, compruebe https://.com/a/20211603/2074320 para su información.