我正在尝试通过Google+分享视频(本地存储)的UIActivity。为此,我必须为Google+分享按钮创建自定义UIActivity,因为它现在不是原生的。
因此代码看起来与google api文档中的代码非常相似。所以重要的部分在这里:
- (void)performActivity {
id <GPPShareBuilder> shareBuilder = [[GPPShare sharedInstance] nativeShareDialog];
[shareBuilder setURLToShare:self.url];
[shareBuilder open];
}
和self.url一样,因为它是一个本地URL所以看起来像这样:“file:///var/mobile/Containers/Data/Application/.../Documents/video01.mp4”
问题是URL没有显示在正在打开的共享对话框中,并且在共享帖子后也没有发布。另一方面,当URL类似于“http://techslides.com/demos/sample-videos/small.mp4”时,URL在共享对话框中以及共享帖子中显示为ok。
还有一件事:当我尝试通过Facebook通过Facebook共享对话框的原生UIActivity分享视频时,视频正好发布,没有任何问题。
是否有人不得不面对我的问题并解决它或知道如何设法分享这类视频?
谢谢!
答案 0 :(得分:0)
这是因为您尝试从设备本地存储共享视频。 URL
中指定的SharingBuilder
应该是外部的(例如“http ...”),并且您提供URL
到文件(例如“文件: //...")。阅读有关活动here的视频分享。希望它会有所帮助。
<强>更新强>:
对不起,我的错。 ShareBuilder
提供此类功能。为此,我使用下面的代码。
id<GPPNativeShareBuilder> shareBuilder = [[GPPShare sharedInstance] nativeShareDialog];
[shareBuilder setPrefillText:videoDescription];
[shareBuilder attachVideoURL:filePath];
[shareBuilder open];
filePath
为[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"funny_video" ofType: @"flv"]]
的位置。 注意:在进行身份验证之前,您必须将kGTLAuthScopePlusMe
添加到您的范围。