【问题标题】:Opening Facebook event pages in the Facebook app using Swift使用 Swift 在 Facebook 应用程序中打开 Facebook 事件页面
【发布时间】:2016-01-19 11:23:24
【问题描述】:

我在 Facebook 应用程序中获取 Facebook 事件时遇到问题。例如,要打开一个 URL 为“https://www.facebook.com/events/1743847059178738/”的事件,我会使用以下代码:

 let facebookURL = NSURL(string: "fb://event/1743847059178738")!
    if UIApplication.sharedApplication().canOpenURL(facebookURL) {
        UIApplication.sharedApplication().openURL(facebookURL)
    } else {
        UIApplication.sharedApplication().openURL(NSURL(string: "https://www.facebook.com/events/1743847059178738")!)
    }
}

它将打开 Facebook 应用程序,但无论我尝试显示什么事件,我都会看到一个屏幕显示“无法加载事件。它可能已被取消。”我曾尝试将事件的 Facebook URL 替换为个人资料的 URL(例如,字符串:“fb://profile/100005906912309”)并且效果很好。我是否错误地假设事件 URL 末尾的数字与事件的数字 ID 相同?

【问题讨论】:

    标签: swift facebook


    【解决方案1】:

    所以我发现我可以绕过整个“fb://event...”位,然后继续:

    UIApplication.sharedApplication().openURL(NSURL(string: "https://www.facebook.com/events/1743847059178738")!)

    我以为这会在 Safari 中打开链接,但在 iOS 8 中它会自动在 Facebook 中打开。

    【讨论】:

      【解决方案2】:

      对于迟到的答复,我深表歉意。我更愿意把它写成评论,但我不能。

      首先,很好的解决方法。我认为如果 fb:// 方案失败,如与您的问题共享的代码所示,这是一个完美的后备方案。我花了很多时间试图解决同样的问题。我发现 fb://event/{event-id} 不再受支持,它已被 fb://event?id={event-id} 取代。

      我用这个post 作为参考。

      【讨论】:

        猜你喜欢
        • 2019-09-09
        • 2017-09-30
        • 1970-01-01
        • 1970-01-01
        • 2011-06-16
        • 2014-08-22
        • 1970-01-01
        • 2014-11-13
        • 1970-01-01
        相关资源
        最近更新 更多