有没有办法与 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
我需要允许用户将视频和图片分享到 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