我的应用程序如何识别用户的 iOS 设备上存在哪些社交应用程序?

How can my app identify which social apps are present on user's iOS device?

我们正在构建一个本质上是社交的应用程序,并希望提供与 Facebook、Twitter、Pinterest 等顶级社交平台的紧密集成。所以我有两个问题: 1. 使用 UIActivityViewController,我们可以在用户设备上可用的所有(顶级)社交平台上共享内容吗?或者这些平台是否存在任何已知的兼容性问题?我知道 Facebook 在发布预填文本方面有限制。但我找不到任何其他平台的限制。 2. 我们希望看到用户正在查看的所有社交平台的列表,以便我们可以在牢记这一点的同时微调我们的应用程序用户体验。本质上,我们想要识别用户在其设备上安装的所有社交应用程序。我们只想检测特定应用的存在,不需要所有应用列表。

如果您的目标 iOS 是 >=6 和社交框架,请使用 SLComposeViewController

您可以通过以下方式查看 Facebook:

     if([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]){ 

Twitter 等等:

     if([SLComposeViewController isAvailableForServiceType:SLServiceTypeTwitter]) { 

谨记

  isAvailableForServiceType: 

是用于 return true 或 false 的方法,以防用户 setup/or 没有所质疑服务的帐户。并且此方法只需要一个参数来表示我们需要了解的服务(例如 SLServiceTypeFacebook、SLServiceTypeTwitter)。对于 pinterest 和其他一些社交网络,您应该使用他们的 SDK 或自定义方法(基本上都需要 post url 和特定 url / 服务器的内容)。