【问题标题】:attach a local video using UIActivityViewController使用 UIActivityViewController 附加本地视频
【发布时间】:2012-12-23 04:57:09
【问题描述】:

我正在编写一个具有本地保存视频 (.mov) 的 iOS 应用。我正在尝试通过 UIActivityViewController 附加视频。它非常适合电子邮件。视频已成功附加并发送。保存到相机胶卷时也可以使用。
附加到消息时它不起作用。仅显示文本。 Twitter 和 Facebook 也没有出现。当我删除视频附件时,Twitter 和 Facebook 终于开始显示了。我不太关心消息,但谁能告诉我为什么 Facebook 和 Twitter 没有出现?

这是我的代码:

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

【问题讨论】:

    标签: iphone ios video attachment uiactivityviewcontroller


    【解决方案1】:

    其他答案已过时。这有效:

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

    【讨论】:

    • 如何在不同的应用中播放 mp4 视频(从我的应用中调用)?
    • 我不能让它与文本一起工作。它总是分享文字或视频。
    【解决方案2】:

    在 iOS 6 或更低版本中,您无法在 Facebook、Twitter 或短信上分享视频。它仅在 iOS7 中可用。

    另外,请查看https://stackoverflow.com/a/20211603/2074320 了解您的信息。

    【讨论】:

    • 任何代码显示如何使用 iOS7 和 UIActivityViewController 发布视频?
    【解决方案3】:

    它们是隐藏的,因为您无法在 fb twitter 或短信中显示 movs

    【讨论】:

    • 我现在将我的文件保存为 mp4 而不是 mov。仍然没有 Facebook 或 Twitter。这些文件很小,大约 10 秒长。有什么想法吗?
    • 我尝试过使用 SLComposeViewController 而不是 UIActivityViewController。使用 SLComposeViewController,会发布文件链接,但不会发布实际文件。 file://...output.mp4
    • 任何代码显示如何使用 iOS7 和 UIActivityViewController 发布视频?
    • 任何人都可以分享代码,任何分享视频文件的代码,例如从 s3 到 facebook 使用 UIActivityViewController
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-01
    相关资源
    最近更新 更多