FBSDKShareLinkContent未设置contentDescription和contentTitle

我正在尝试使用FBSDKShareLinkContent在Facebook上分享链接。

我已经设置了url,描述和标题。 SDK通过从contentURL获取的信息自动填充标题和描述。

但是我想设置我在代码中给出的自定义标题和描述。 有没有办法避免这种行为?

  FBSDKShareLinkContent *content = [[FBSDKShareLinkContent alloc] init]; [content setContentTitle:@"Testing title"]; [content setContentDescription:@"Testing description."]; content.contentURL = [NSURL URLWithString:[NSString stringWithFormat:@"https://www.google.co.in/"]]; [FBSDKShareDialog showFromViewController:self withContent:content delegate:nil]; 

我遇到了同样的问题,find了一个解决方法 – 将FBSDKShareDialog实例直接设置为FBSDKShareDialogModeFeedWeb。

 FBSDKShareDialog* dialog = [[FBSDKShareDialog alloc] init]; dialog.mode = FBSDKShareDialogModeFeedWeb; dialog.shareContent = content; dialog.fromViewController = self; [dialog show]; 

它在应用程序中的UIWebView中显示提要对话框,预览post的正确标题和说明。

FBSDKShareDialogMode设置为FeedBrowser解决了我的问题

 let dialog = FBSDKShareDialog() dialog.fromViewController = self dialog.shareContent = shareLink dialog.mode = FBSDKShareDialogMode.FeedBrowser dialog.show() 

我试过这个代码,它在我的虚拟设备上完美的工作,直到我设置了电话设置Facebook帐户。 设置完之后,我每次打开对话框时都会打开默认的iOS社交分享对话框。 删除您的帐户,如果它存在设置,或者只是安装FB应用程序,在文档中我看到我们需要FB应用程序共享。

如果这不起作用,您可以随时使用iOS的Social Share框架,下面是示例。

http://www.appcoda.com/ios-programming-101-integrate-twitter-and-facebook-sharing-in-ios-6/

希望这会帮助,顺便说一下,今天我也堆积在这个问题上,现在每一个与iOS的这个社交共享框架很好的工作。

改用FBSDKShareLinkContent的引用属性

 FBSDKShareLinkContent *linkContent = [FBSDKShareLinkContent new]; linkContent.quote = @"your quote"; FBSDKShareDialog *shareDialog = [FBSDKShareDialog new]; shareDialog.shareContent = linkContent; 

已从Graph API 2.9中弃用setContentTitlesetContentDescription 。 有关更多信息,请参阅https://developers.facebook.com/docs/apps/changelog#v2_9_deprecations

通过使用下面的代码,我们可以分享我们想要的。但只有从模拟器,当我们寻找Iphone或Ipad会出现一个对话框,它会直接从url获取信息..

 FBSDKShareLinkContent *content = [[FBSDKShareLinkContent alloc] init]; content.contentURL = [NSURL URLWithString:@"http://www.k2bindia.com/"]; content.imageURL= [NSURL URLWithString:@"https://lh4.ggpht.com/qUs2_ntWQrWgNElAdHNVNpK_P4xuhPbX8WOcncUS0f5yQVdYtrGH9xit_aBkgwCz0mA=w300"]; content.contentTitle=@"MY TEST APP"; content.contentDescription=@"Its my description Its my description Its my description Its my description Its my description"; [FBSDKShareDialog showFromViewController:self delegate:self];