Facebook 分享功能在 iOS8 中不起作用

Posted

技术标签:

【中文标题】Facebook 分享功能在 iOS8 中不起作用【英文标题】:Facebook share functionality is not working in iOS8 【发布时间】:2015-04-29 06:37:25 【问题描述】:

我已经使用社交框架实现了 Facebook 分享功能。我已经使用设备设置配置了 Facebook 帐户。当我在设备上安装 Facebook 应用时,共享没有按预期工作。

分享窗口出现时,只有分享图片,没有初始文字和网址。

ios8 - 如果我从设备中删除 Facebook 应用程序,共享功能会正常工作。

iOS7 - 即使 Facebook 应用程序在设备上,分享功能也能正常工作。

我不确定是框架问题还是缺少某些东西?

SLComposeViewController *facebookShareVC = [SLComposeViewController  composeViewControllerForServiceType:SLServiceTypeFacebook];

NSString *imagePath = [NSString stringWithFormat:@"%@/%@_%@_%@.gif", [[STInteractionManager sharedManager] getAppLibraryCacheDirectory], article.journalID, article.volume, article.issueNumber];

UIImage* img = [[STInteractionManager sharedManager] imageNamedFromDocuments:imagePath];

[facebookShareVC setInitialText:self.articleTitle];

[facebookShareVC addURL:[NSURL URLWithString:[self.url   stringByReplacingOccurrencesOfString:@"?dispform=ios-device" withString:@""]]];

[facebookShareVC addImage:img];

[self presentViewController:facebookShareVC animated:YES completion:nil];

【问题讨论】:

这是一个已知问题。 这是设计使然。根据 Facebook 平台政策,您不能使用 iOS 分享表进行预填。在此处查看更多信息:developers.facebook.com/docs/apps/review/prefill。相关讨论:developers.facebook.com/bugs/962985360399542 @amudi 感谢分享链接。 【参考方案1】:

如果您想预先填写这些字段,则根本不应该使用 Facebook SDK。相反,请使用 Apple 提供的 Social 框架。只需几行代码,您就可以触发 SLComposeViewController。

【讨论】:

我知道 UIActivityViewController 用于分享这篇文章。 SLComposeViewController 不是 Facebook SDK。它由 Apple 提供,可用于在 Facebook 和 Twitter 上进行分享。当时我有不同的要求(2年之前)。

以上是关于Facebook 分享功能在 iOS8 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

UIActivityViewController 在 iOS 8 中不起作用

UIMoviePlayerControllerDidEnterFullscreenNotification 在 iOS8 中不起作用

定位服务在 ios8 中不起作用

Phonegap / Cordova 在 ios8 中不起作用

UINavigationBar 外观 addSubview 在 iOS 8 中不起作用

IOS Facebook好友邀请在facebook sdk中不起作用