2012-12-23 7 views
9

Sto scrivendo un'app iOS che ha salvato video in locale (.mov). Sto cercando di collegare il video tramite UIActivityViewController. Funziona benissimo per la posta elettronica. Il video è stato allegato e inviato correttamente. Funziona anche quando si salva nel rullino fotografico.
Non funziona quando si collega a Messaggi. Viene mostrato solo il testo Anche Twitter e Facebook non si presentano nemmeno. Quando rimuovo l'allegato video, Twitter e Facebook iniziano finalmente a mostrare. Non mi interessa molto dei messaggi ma qualcuno può dirmi perché Facebook e Twitter non vengono visualizzati?collegare un video locale utilizzando UIActivityViewController

Heres il mio codice:

- (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]; 
} 

risposta

4

Non è possibile condividere i video su Facebook, Twitter o SMS in iOS 6 o inferiore. È disponibile solo su iOS7.

Inoltre, si prega di controllare https://stackoverflow.com/a/20211603/2074320 per vostra informazione.

+4

Qualche codice che mostra come pubblicare video utilizzando iOS7 e UIActivityViewController? – c0d3Junk13

1

sono nascosti, perché non è possibile visualizzare movs su fb twitter o in SMS

+0

Ora sto salvando i miei file come mp4 invece di mov. Ancora nessun Facebook o Twitter. I file sono piccoli circa 10 secondi. Qualche idea? – ijason03

+0

Ho provato a utilizzare SLComposeViewController anziché UIActivityViewController. Utilizzando SLComposeViewController, il collegamento al file viene pubblicato ma non il file effettivo. file: //...output.mp4 – ijason03

+0

Qualche codice che mostra come pubblicare video utilizzando iOS7 e UIActivityViewController? – c0d3Junk13

6

Le altre risposte sono obsolete. Funziona:

@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) 
} 
+0

Questa è la risposta corretta ora. –

+0

grazie iPhone e iPad √ –

+0

come riprodurre video mp4 in diverse app (chiamali dalla mia app)? – user25