对 UIButton 进行编程以将 Facebook 应用程序打开到特定页面,对于 twitter 和 instagram 也是如此

Program UIButton to open Facebook app to specific page, and same for twitter and instagram

我正在构建一个应用程序,当您单击标记为 "Facebook"、"Twitter" 或 "Instagram" 的按钮时,它将打开相应的应用程序并将您带到我的特定页面放。上周我一直在不停地寻找答案,如果有人能提供帮助,我将不胜感激!

我翻遍了 Whosebug 和其他论坛和视频,找不到这个问题的答案。我找到的解决方案要么已经过时并且不再有效,要么不是我想要的。

请注意:通常像这样的问题不会在 SO 上得到非常有用的答案。以后尽量具体一点,稍微展示一下作品。但是,我理解当您不知道正确的术语时搜索解决方案是多么困难。您要查找的字词是 "URL scheme"


每个应用程序都有自己的 URL 打开特定页面 and/or 网站的方案。您将需要检查他们的文档 and/or 在线搜索以查看是否可以找到您需要的 URL 方案。有一个非官方网站列出了很多这些,但不再维护。

例如,要打开特定的 Facebook 个人资料页面(可以是个人或公司等),请使用:fb://profile/<page id>" 将 替换为与该页面对应的 Facebook ID。这是一个数值,您有时可以在 URL 中找到它,但是 http://findmyfbid.com/ 是一个有用的资源。 然后您可以简单地触发 open on the shared UIApplication instance to open the URL. But keep in mind the user may not have Facebook installed, so you should use canOpenURL 来检查您尝试使用的 URL 方案是否受支持,如果不支持,您可以在浏览器中打开 URL。

但是,某些应用可能已经实现了 Universal linking 的新功能,因此如果您只提供标准 URL,例如 https://facebook.com/<page_id>,设备可能会自动打开相应的页面。我建议尝试一下。

请注意,对于您希望能够检查 canOpenURL 的每个 URL 方案,您需要 add it 到您应用的 plist。

因为我手边已经有了 Instagram 和 Twitter,这里是他们打开用户页面的基本方案:

instagram://user?username=<username>

twitter://user?screen_name=<username>

注意:这些应用程序支持其他 URL 方案(例如,您可以 link 到 Instagram 上的位置页面或特定标签),因此您应该检查它们的 documentation 有关 URL 方案的更多信息。