我在Facebook应用程序中获取Facebook活动时遇到问题。例如,要使用网址“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相同?
答案 0 :(得分:1)
所以我发现我可以绕过整个" fb://event..."咬一点,然后去:
UIApplication.sharedApplication().openURL(NSURL(string: "https://www.facebook.com/events/1743847059178738")!)
我认为这会打开Safari中的链接,但它会在iOS 8的Facebook中自动打开。
答案 1 :(得分:1)
对不起,我很抱歉。我更喜欢把它写成评论,但我不能。
首先,好的工作。如果fb://方案失败,我认为这是一个完美的后备,因为它与您的问题共享的代码中显示。我花了很多时间试图解决同样的问题。我发现的是ColorStateList mColorList = mBtn.getTextColors();
int color = mColorList.getDefaultColor();
不再受支持,并被fb://event/{event-id}
取代。
我已使用此post作为参考。