2012-12-23 27 views
9

Piszę aplikację na iOS, która ma lokalnie zapisane filmy (.mov). Próbuję dołączyć wideo za pomocą UIActivityViewController. Działa świetnie na e-mail. Film wideo został pomyślnie dołączony i wysłany. Działa również podczas zapisywania do rolki aparatu.
Nie działa podczas dołączania do wiadomości. Wyświetlany jest tylko tekst. Również Twitter i Facebook nawet się nie pojawiają. Kiedy usuwam załącznik wideo, w końcu zaczynają się pojawiać Twitter i Facebook. Nie przejmuję się zbytnio wiadomościami, ale czy ktoś może mi powiedzieć, dlaczego Facebook i Twitter nie wyświetlają się?Dołącz lokalny film wideo za pomocą UIActivityViewController

Herezje mój kodu:

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

Odpowiedz

4

Nie można udostępniać pliki wideo na Facebooku, Twitterze lub na SMS w iOS 6 lub poniżej. Jest dostępny tylko w iOS7.

Prosimy również o sprawdzenie informacji pod numerem https://stackoverflow.com/a/20211603/2074320.

+4

Dowolny kod pokazujący, jak publikować filmy za pomocą iOS7 i UIActivityViewController? – c0d3Junk13

1

są one ukryte, ponieważ nie można wyświetlić movs na fb twitter lub SMS

+0

Zapisuję teraz moje pliki jako mp4 zamiast mov. Nadal nie ma Facebooka ani Twittera. Pliki są małe około 10 sekund. Jakieś pomysły? – ijason03

+0

Próbowałem już przy użyciu SLComposeViewController zamiast UIActivityViewController. Za pomocą SLComposeViewController link do pliku zostaje opublikowany, ale nie rzeczywisty plik. file: //...output.mp4 – ijason03

+0

Dowolny kod pokazujący, jak publikować filmy za pomocą iOS7 i UIActivityViewController? – c0d3Junk13

6

Inne odpowiedzi są nieaktualne. To działa:

@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

To jest teraz poprawna odpowiedź. –

+0

dzięki iPhone'owi i iPadowi √ –

+0

jak odtwarzać wideo MP4 w różnych aplikacjach (zadzwoń do nich z mojej aplikacji)? – user25