有没有办法与 SLComposeViewController fb 和 twitter 分享视频

Is there a way to share video with SLComposeViewController fb and twitter

我需要允许用户将视频和图片分享到 fb 和 twitter。我最近找到了 SLComposeViewController 但它似乎只有一个 addImage 方法而没有 addVideo 方法。我真的很想使用 SLComposeViewController 来共享视频,因为我的时间很紧。这是我目前所拥有的,它可以工作,但没有 addVideo 方法:

var shareToTwitter : SLComposeViewController = SLComposeViewController(forServiceType: SLServiceTypeTwitter)
    shareToTwitter.setInitialText("initial text")
    //shareToTwitter.addImage(UIImage(named: "32.png"))

    self.presentViewController(shareToTwitter, animated: true, completion: nil)

我真的很想拥有像 instagram 一样的分享功能。这对 SLComposeViewController 来说可能吗?

SLComposeViewController现在只能用来分享文字和图片,不能用来分享视频,也许以后Apple要的话可以分享视频。

现在您可以使用 twitter 的 the uploading media new API 将视频分享到 twitter。

我制作了一个方便的 class 可以更轻松地制作 post 视频到 Twitter。

请检查:https://github.com/liu044100/SocialVideoHelper

您只需调用此 class 方法即可。

+(void)uploadTwitterVideo:(NSData*)videoData account:(ACAccount*)account withCompletion:(dispatch_block_t)completion;

希望能解决您的问题。

此致。

对于swift:

shareToTwitter.setInitialText("This is my video")
shareToTwitter.addURL(NSURL(string: "ur video link"))//add your video url to it
self.presentViewController(shareToTwitter, animated: true, completion: nil)

希望对您有所帮助,编码愉快:)

私有方法但有效。您也可以通过默认的 UIActivityViewController 将视频分享到 fb。

@import Foundation;
@import Social;
@import MobileCoreServices;

@interface SLComposeViewController (FBMP4Video)

- (BOOL)addVideoURL:(NSURL *)url;

@end

@implementation SLComposeViewController (FBMP4Video)

- (BOOL)addVideoURL:(NSURL *)url {
    NSItemProvider *itemProvider = [[NSItemProvider alloc] initWithItem:url typeIdentifier:(NSString *)kUTTypeMPEG4];

    NSExtensionItem *extensionItem = [NSExtensionItem new];
    extensionItem.attachments = [NSArray arrayWithObject:itemProvider];

    return [self performSelector:@selector(addExtensionItem:) withObject:extensionItem];
}

@end