在 iOS 上使用带有 UIActivityViewController 的 Facebook SDK 会话对象

Posted

技术标签:

【中文标题】在 iOS 上使用带有 UIActivityViewController 的 Facebook SDK 会话对象【英文标题】:Use Facebook SDK session object with the UIActivityViewController on iOS 【发布时间】:2015-04-28 03:14:51 【问题描述】:

我在 ios 上使用 Facebook SDK 在我的应用中登录用户。用户登录后,我可以使用 FBSession 对象来共享 Facebook API 并向其发出其他请求。

我有一个功能,用户可以选择通过可用的社交服务分享某些特定内容,因此我决定使用 UIActivityViewController 来完成此操作。

我的问题是:有没有办法使用登录用户的 FBSession 来选择 UIActivityViewController 上的 Facebook 选项,而无需再次登录设备设置?谢谢!

【问题讨论】:

【参考方案1】:

如果您使用系统 Facebook 登录,如果您向 UIActivityController 提供 Facebook 可以处理的项目(例如文本和图像,或者),它应该会在打开后自动显示在可用的共享方法中。

UIActivityViewController *controller = [[UIActivityViewController alloc] initWithActivityItems:@[text, url, image] applicationActivities:nil];

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

如果您不想使用系统 Facebook 登录,您将不得不创建自己的 UIActivity,它将使用您引用的 FBSession 对象。然后在初始化 UIActivityViewController 时将自定义 UIActivity 对象传递给 applicationActivities 参数。

查看UIActivity Documentation。它会告诉您使用现有 FBSession 对象实现自定义活动所需了解的一切。

不过,我建议尽可能使用系统 Facebook 功能。

【讨论】:

非常感谢!我肯定会尝试创建一个自定义 UIActivity。如果可能的话,我也会尝试使用设备的 Facebook 帐户登录。 太棒了!这很容易。那里有很多教程。您应该立即启动并运行它!

以上是关于在 iOS 上使用带有 UIActivityViewController 的 Facebook SDK 会话对象的主要内容,如果未能解决你的问题,请参考以下文章

在带有 AFnetworking 的 iOS 应用程序上使用 cookie

在带有外部 URL 的 iOS 上使用 PhoneGap/Cordova

在 iOS 上使用带有 Phonegap 的 HTML5 缓存清单

如何使用Swift在iOS 8上显示带有文本的活动指示器?

OpenCV在带有C++的iOS上使用base64通过HTTP发送图像

带有自定义控件的视频无法在 iOS 上播放(Safari 和 Chrome)