2012-12-23 6 views
9

Ich schreibe eine iOS-App, die lokal gespeicherte Videos (.mov) gespeichert hat. Ich versuche, das Video über UIActivityViewController anzuhängen. Es funktioniert hervorragend für E-Mails. Das Video wurde erfolgreich angehängt und gesendet. Es funktioniert auch beim Speichern in der Kamera.
Es funktioniert nicht beim Anhängen an Nachrichten. Nur der Text wird angezeigt. Auch Twitter und Facebook tauchen nicht einmal auf. Wenn ich den Videoanhang entferne, beginnen Twitter und Facebook endlich zu zeigen. Ich interessiere mich nicht sonderlich für Nachrichten, aber kann mir jemand sagen, warum Facebook und Twitter nicht auftauchen?ein lokales Video mit UIActivityViewController anhängen

Heres mein Code:

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

Antwort

4

Sie können keine Videos auf Facebook, Twitter oder auf SMS in iOS 6 teilen oder darunter. Es ist nur in iOS7 verfügbar.

Bitte überprüfen Sie auch https://stackoverflow.com/a/20211603/2074320 zu Ihrer Information.

+4

Jeder Code zeigt, wie Videos mit iOS7 und dem UIActivityViewController veröffentlicht werden? – c0d3Junk13

1

sie versteckt sind, weil Sie nicht movs auf fb twitter oder in SMS angezeigt werden kann

+0

Ich speichere jetzt meine Dateien als mp4 statt mov. Noch kein Facebook oder Twitter. Die Dateien sind ca. 10 Sekunden lang klein. Irgendwelche Ideen? – ijason03

+0

Ich habe versucht, SLComposeViewController anstelle von UIActivityViewController zu verwenden. Mit SLComposeViewController wird der Dateilink gepostet, aber nicht die eigentliche Datei. file: //...output.mp4 – ijason03

+0

Jeder Code, der zeigt, wie man Videos mit iOS7 und dem UIActivityViewController veröffentlicht? – c0d3Junk13

6

Die anderen Antworten sind veraltet. Das funktioniert:

@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

Dies ist jetzt die richtige Antwort. –

+0

danke iPhone & iPad √ –

+0

wie mp4 Video in verschiedenen apps zu spielen (rufen Sie sie von meiner App)? – user25