我需要允许用户将视频和图片分享给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一起使用吗?
答案 0 :(得分:3)
SLComposeViewController现在仅用于共享文本和图像,它不能用于共享视频,如果Apple希望将来可以共享视频。
现在您可以使用Twitter的the uploading media new API分享视频到Twitter。
我做了一个方便的课程,以便更轻松地发布视频到Twitter。
请检查:https://github.com/liu044100/SocialVideoHelper
你只需要调用这个类方法。
+(void)uploadTwitterVideo:(NSData*)videoData account:(ACAccount*)account withCompletion:(dispatch_block_t)completion;
希望它可以解决您的问题。
最诚挚的问候。
答案 1 :(得分:1)
私有方法但有效。您还可以通过默认的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
答案 2 :(得分:-1)
对于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)
希望它有所帮助,快乐的编码:)