2012-12-23 56 views
9

我正在編寫具有本地保存視頻(.mov)的iOS應用程序。我試圖通過UIActivityViewController附加視頻。它適用於電子郵件。該視頻已成功附加併發送。保存到相機膠捲時也可以使用。
附加到消息時不起作用。只顯示文字。 Twitter和Facebook也沒有出現。當我刪除視頻附件時,Twitter和Facebook終於開始展示。我真的不太在乎郵件,但是誰能告訴我爲什麼Facebook和Twitter沒有顯示出來?使用UIActivityViewController附加本地視頻

繼承人我的代碼:

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

回答

1

他們被隱藏,因爲你不能在FB的Twitter或短信

+0

我現在將我的文件保存爲mp4而不是mov。仍然沒有Facebook或Twitter。這些文件很小,大約10秒鐘。有任何想法嗎? – ijason03

+0

我試過使用SLComposeViewController而不是UIActivityViewController。使用SLComposeViewController,文件鏈接被髮布,但不是實際的文件。 file://...output.mp4 – ijason03

+0

顯示如何使用iOS7和UIActivityViewController發佈視頻的任何代碼? – c0d3Junk13

6

其他答案已過時。此作品:

@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

這是現在正確的答案。 –

+0

感謝iPhone和iPad√ –

+0

如何在不同的應用程序中播放mp4視頻(從我的應用程序中調用它們)? – user25