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

时间:2016-12-15 17:03:59

标签: ios swift facebook twitter instagram

我正在构建一个应用程序,当您单击标有“Facebook”,“Twitter”或“Ins​​tagram”的按钮时,它将打开相应的应用程序并将您带到我设置的特定页面。我一直在寻找上周的答案,如果有人可以提供帮助我会非常感激!

我已经遍布StackOverflow和其他论坛和视频,无法找到这个问题的答案。我发现的解决方案都已经过时,不再适用,或者不是我想要的。

1 个答案:

答案 0 :(得分:1)

请注意:通常这样的问题不会在SO上得到非常有用的答案。在未来,尝试更具体,并展示一点工作。但是,我很欣赏当您不知道正确的术语时如何难以搜索解决方案。您正在寻找的术语是“URL方案”

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

例如,要打开特定的Facebook个人资料页面(可能是个人或公司等),请使用:fb://profile/<page id>"替换与该页面对应的Facebook ID。这是一个数值,您有时可以在URL中找到它,但http://findmyfbid.com/是一个有用的资源。 然后,您只需在共享的UIApplication实例上触发open即可打开该URL。但请记住,用户可能没有安装Facebook,因此您应该使用canOpenURL检查您尝试使用的URL方案是否受支持,如果不支持,您只需在浏览器中打开该URL即可。

但是,某些应用可能已为Universal linking实施了新功能,因此如果您只提供标准网址,设备可能会自动打开相应的网页,例如https://facebook.com/<page_id>。我建议玩弄它。

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

由于我已经拥有Instagram和Twitter,因此这里是打开用户页面的基本方案:

instagram://user?username=<username>

twitter://user?screen_name=<username>

注意:这些应用程序支持其他网址方案(例如,您可以在Instagram上链接到位置页面或特定标记),因此您应该检查他们的docutation以获取更多信息有关URL方案的信息。