2016-01-19 55 views
0

我在Facebook應用程序中獲取Facebook活動時遇到問題。例如,要打開與URL事件「https://www.facebook.com/events/1743847059178738/,」我會用下面的代碼:使用Swift在Facebook應用程序中打開Facebook活動頁面

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相同?

回答

1

所以我想通了,我可以繞過整個「FB://事件......」一下,只是去:

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

我以爲這會在Safari中打開該鏈接,但它會在iOS 8中的Facebook中自動打開。

1

對於遲到的答案,我很抱歉。我寧願寫這個評論,但我不能。

首先,不錯的工作。我認爲這是一個完美的回退,如果fb://方案失敗,因爲它顯示在與您的問題共享的代碼中。我花了很多時間來解決同樣的問題。我發現的是fb://event/{event-id}不再支持,它被替換爲fb://event?id={event-id}

我用這個post作爲參考。

相關問題