[英]How to share NSData or phasset video using Facebook iOS SDK 4.0 FBSDKShareDialog
我注意到你可以简单地将NSData视频分享给facebook messenger:
NSData *videoData = [NSData dataWithContentsOfURL:localVideoUrl];
[FBSDKMessengerSharer shareVideo:videoData withOptions:options];
但是当我使用本地视频文件或phasset分享到Facebook Feed时,我遇到了同样的困难。
FBSDKShareVideo *video = [FBSDKShareVideo videoWithVideoURL:localVideoUrl];
FBSDKShareVideoContent *content = [[FBSDKShareVideoContent alloc] init];
[content setVideo: video];
[FBSDKShareDialog showFromViewController:nil withContent:content delegate:self];
com.facebook.sdk:FBSDKErrorDeveloperMessageKey =原生对话框只允许使用资产文件URL
我如何使用phasset视频进行类似的不错的应用切换行为?
谢谢!
使用新的Facebook SDK 4.0,视频必须作为资产URL传递。 您必须将本地视频路径复制到资产库,并使用生成的URL在Facebook上共享。
步骤1:
NSURL *videoURL=[NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"IMG_1007" ofType:@"mp4"]];
[self saveToCameraRoll:videoURL];
第2步:
- (void)saveToCameraRoll:(NSURL *)srcURL
{
NSLog(@"srcURL: %@", srcURL);
ALAssetsLibrary *library = [[ALAssetsLibrary alloc] init];
ALAssetsLibraryWriteVideoCompletionBlock videoWriteCompletionBlock =
^(NSURL *newURL, NSError *error) {
if (error) {
NSLog( @"Error writing image with metadata to Photo Library: %@", error );
} else {
NSLog( @"Wrote image with metadata to Photo Library %@", newURL.absoluteString);
url_new = newURL;
}
};
if ([library videoAtPathIsCompatibleWithSavedPhotosAlbum:srcURL])
{
[library writeVideoAtPathToSavedPhotosAlbum:srcURL
completionBlock:videoWriteCompletionBlock];
}
}
第3步:
FBSDKShareDialog *shareDialog = [[FBSDKShareDialog alloc] init];
NSURL *videoURL = url_new;
FBSDKShareVideo *video = [[FBSDKShareVideo alloc] init];
video.videoURL = videoURL;
FBSDKShareVideoContent *content = [[FBSDKShareVideoContent alloc] init];
content.video = video;
shareDialog.shareContent = content;
shareDialog.delegate = self;
[shareDialog show];
如果您有任何其他疑问,请告诉我。
谢谢!
请检查:1)视频的大小必须小于12MB。 2)分享的人应安装Facebook for iOS客户端,版本26.0或更高版本。
你应该使用以下行:
NSURL *movieUrl = [info objectForKey:UIImagePickerControllerReferenceURL];
代替
NSURL *movieUrl = [info objectForKey:UIImagePickerControllerMediaURL];
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.