2012-08-16 61 views
6

我有什麼和發生問題幹嘛:不能權威性至Facebook與iOS SDK和原生的Facebook應用程序

  1. 我有一個Facebook賬號與遊戲應用程序(每天都有人的上場)
  2. 我還有一個帶有測試應用程序的Facebook帳戶,最近使用默認設置創建。
  3. 我在我的iPod上有原生Facebook應用程序
  4. 我正在開發使用Facebook iOS SDK的iOS應用程序。

無效流量:

如果我用從第一應用App ID/API密鑰,我打開我的應用程序,並嘗試登錄。 Facebook的SDK打開本地FB應用和讓我看到屏幕enter image description here

我按OK,回到我的iOS這樣的錯誤,並沒有訪問令牌:

(NSError *) $0 = 0x001710f0 Error Domain=com.facebook.sdk Code=2 "The operation couldn’t be completed. (com.facebook.sdk error 2.)" UserInfo=0x16d4b0 {com.facebook.sdk:ErrorLoginFailedOriginalErrorCode=210} 

有效流量:

如果我使用來自第二(測試)應用程序的應用程序ID/API密鑰,我打開我的應用程序並嘗試登錄。 Facebook SDK打開本地FB應用程序,並顯示我的屏幕enter image description here

我按下OK並使用有效的訪問令牌返回到我的iOS。

應用程序的設置是相同的,我沒有看到任何區別。如果我有本地Facebook應用程序,則會出現此問題。如果我沒有它,Facebook SDK會打開瀏覽器,並且授權將會以第一個和第二個App ID成功。

如果有人有這樣的問題,請幫忙。非常感謝。

+0

我也有這個問題。當我用我自己的一個替換應用程序ID時,它似乎工作正常。看起來他們可能包含一個無效的應用程序ID? – 2012-08-17 07:40:09

回答

16

我解決了這個問題。

其實在改變這裏和那裏後,我發現我的捆綁ID不匹配。我已經在以下3個地方保留捆綁ID,並且它的工作原理如下:

  1. 項目的捆綁包標識符。
  2. 在您的FB a/c名爲「iOS Bundle ID:」的主題下的Native iOS App下。
  3. 在AppDelegate.m通知字符串值

    NSString *const FBSessionStateChangedNotification = @"yourbundleid:FBSessionStateChangedNotification";

+0

是的,它確實有效。非常感謝!!! – dexxtr 2012-08-22 12:44:29

+2

'FBSessionStateChangedNotification'是你自己代碼中的一個變量,對吧?那爲什麼這很重要? – user102008 2012-10-08 21:22:23

+0

我有一個登錄問題,我檢查應用程序設置中的包ID是否正確。我應該在哪裏放置通知字符串值?謝謝! – Yan 2012-10-10 23:42:26

4

我發現,我收到了同樣的錯誤,當我要求的權限:「offline_access」。當我停止詢問這個許可時,錯誤消失了。

2

我有同樣的問題,我的BundleId都是正確的,在FB和我的項目。

檢查您的FB應用程序是否在設置 - > Facebook中啓用。我被禁用(即使我不記得禁用它),並且一旦啓用它,它就被修復了。

在我的測試過程中,我添加並從我的FB賬戶中刪除了我的FB應用程序,該應用程序與我的iPhone鏈接。這可以解釋爲什麼,神奇地,我的應用程序被禁用。

+0

並檢查您是否擁有Facebook iOS SDK的最後一個版本 – 2013-03-08 23:47:47

+0

我去過這個設置,我的設置已打開,但是我已將其切換爲關閉狀態,然後重新開始工作。我不知道這是不是巧合! – Will 2013-03-19 11:46:09

+0

絕對不是巧合!很高興幫助:) – 2013-03-20 10:14:03

相關問題