繁体   English   中英

在没有安装Facebook App的情况下,FBSDKShareDialog不会共享照片

[英]FBSDKShareDialog doesn't share Photo without Facebook App installed, IOS

我正在使用Facebook SDK 4.0, https://developers.facebook.com/docs/sharing/ios#share_dialog我正在使用FBSDKShareDialog来共享Photo.It会在用户安装Facebook应用程序的情况下共享Photo,但是当用户没有安装时它会失败t安装了FB App。 但他们说“如果某人没有安装Facebook应用程序,它将自动回退到基于网络的对话框。” Idk什么错了请帮我分享使用FBSDK 4.0的照片。

我的代码是

FBSDKSharePhoto *photo = [[FBSDKSharePhoto alloc] init];
photo.image = self.capturedImageView.image;
photo.userGenerated = YES;
FBSDKSharePhotoContent *content = [[FBSDKSharePhotoContent alloc] init];
content.photos = @[photo];
[FBSDKShareDialog showFromViewController:self
                             withContent:content
                                delegate:self];

这是错误报告

在此输入图像描述

错误:“com.facebook.sdk:FBSDKErrorArgumentNameKey = shareContent,com.facebook.sdk:FBSDKErrorDeveloperMessageKey = Feed共享对话框支持FBSDKShareLinkContent。”

FBSDKShareDialog仅支持FBSDKShareLinkContent发布图像或URL。因此,要使用共享对话框,您必须使用FBSDKShareLinkContent。

在此输入图像描述

您可以按如下方式使用它:

FBSDKShareLinkContent *content = [[FBSDKShareLinkContent alloc] init];
    content.imageURL = [NSURL URLWithString:@"http://upload.wikimedia.org/wikipedia/commons/3/36/Hopetoun_falls.jpg"];
    [FBSDKShareDialog showFromViewController:self
                                 withContent:content
                                    delegate:self];

如果您想共享链接,请使用content.contentURL

请参阅: https//developers.facebook.com/docs/sharing/ios#share_dialog

如果您使用的是FBSDKSharePhoto,那么您需要安装原生Facebook for iOS应用程序。

请参阅: https//developers.facebook.com/docs/sharing/ios#photos

我也有同样的问题,因为文档也说它们提供了回退机制,这种情况似乎不正确:

内置共享后备

在以前版本的SDK for iOS中,您的应用必须先检查本机安装的Facebook应用,然后才能打开“共享”对话框。 如果此人没有安装该应用程序,您必须提供自己的代码来调用回退对话框。

现在,SDK会自动检查本机Facebook应用程序。 如果未安装,SDK会将人员切换到默认浏览器并打开“源”对话框。 如果有人想要共享Open Graph故事,SDK将打开Web Share对话框。

首先配置iOS设备的Facebook帐户,然后使用以下代码:

FBSDKSharePhoto *photo = [[FBSDKSharePhoto alloc] init];

photo.image = self.capturedImageView.image;

photo.userGenerated = YES;

FBSDKSharePhotoContent *content = [[FBSDKSharePhotoContent alloc] init];

content.photos = @[photo];

[FBSDKShareDialog showFromViewController:self
                             withContent:content
                                delegate:self];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM