2012-01-02 30 views
0

我正在通過Facebook的身份驗證機制。並且瞭解客戶端,服務器端和桌面應用程序進程。一個iOS應用程序如何將數據傳遞給另一個?

但我無法理解iOS教程。 https://developers.facebook.com/docs/mobile/ios/build/

它在哪裏談論Facebook SDK for iOS如何正常回退以鑑別身份驗證方式,具體取決於用戶手機上安裝的內容。

從教程中,我明白,

  1. 的API檢查的Facebook應用程序被安裝或沒有,如果它 there..it打開它,整個登錄過程ňpemission捐贈是 方面所做的工作和那麼應用程序會重定向到我們的應用程序,並通過 授權令牌,到期以及Facebook OAuth服務器可能返回的任何其他參數。

  2. 如果沒有安裝FB應用,Safari瀏覽器打開和處理情況 那裏訪問令牌被取出餅乾一旦重定向 迴應用程序。

  3. 如果iOS的犯規支持多任務,我們無法打開Safari或與它一起的任何其他 應用程序,那麼它會打開一個UIWebView並繼承和 訪問來自#後的urlbar的片段區域中的令牌。

我得到了第三種方式,這是我們在.NET或空氣中使用桌面應用程序所做的。

任何人都可以解釋前n個第二種方式?

一個應用程序如何將控件重定向到另一個應用程序,以及它如何將數據傳遞給它。 並且關於第二種方式,應用程序如何讀取Safari的cookie?

回答

5

它通過使用UIApplication - openURL打開一個URL來實現:該URL將通過使用其自定義URL(http://iosdevelopertips.com/cocoa/launching-your-own-application-via-a-custom-url-scheme.html)來檢查Facebook應用程序是否已安裝。當發生這種情況時,Facebook會使用相同的機制重新導向您的應用。

閱讀文檔下////私人這裏:https://github.com/facebook/facebook-ios-sdk/blob/master/src/Facebook.m

+0

但如何在Safari瀏覽器中打開了它的工作原理。它使用自定義URL以及Facebook ios應用程序傳遞數據? 當談到多個應用程序使用Safari cookie共享相同的access_token時,本教程的含義是什麼? – 2012-01-03 09:01:03

相關問題