2013-08-30 45 views
20

我想一個簡單的URL分享我的應用程序集成,繼專用的Facebook教程(link的Facebook SDK - iOS設備 - 失敗共享URL(錯誤102)

在我的應用程序,我只需點擊一個按鈕,它顯示一個對話框,我可以輸入評論。 這部分作品找到。然而,當我點擊「發佈」時,出現以下錯誤:

Error Domain = com.facebook.Facebook.platform Code = 102「無法完成操作(com.facebook.Facebook 。「平臺錯誤102.)」UserInfo = 0x14dd1a10 {error_message =由於應用程序名稱不匹配而無法驗證應用程序。請瀏覽該對話框中配置的應用程序名稱,APP_ID = 000000,ERROR_CODE = 102}

(在這個消息,我剛剛更換用零我從Facebook開發人員網頁得到了APP_ID。)

在Facebook的應用程序設置,我設置以下這樣:

  • 「顯示名稱」:同名的應用程序名稱
  • 「捆綁ID」用字符串返回由[[NSBundle mainBundle] bundleIdentifier];
  • 該應用程序是「活的」(未在沙箱)
  • 「深層鏈接」和「連接到FB」:既激活

當我保存FB開發網頁上我的設置,我得到一個警告說我沒有設置AppStore標識符(這是自開發應用程序以來尚未提供的)。

你能告訴我那個我做得不對的小東西嗎?

在此先感謝您的答覆。

如果有必要,我們很樂意爲您提供更多信息。

+0

您是否嘗試刪除「深層鏈接」?你不需要選擇它。此外,應用程序可以沙盒,你仍然可以測試你的iPhone應用程序。 – AdamG

+0

感謝您的提示,但問題是我設置了FacebookDisplayName參數的值不正確。 – LudoZik

+0

我發現了一個特殊的utf8字符在Facebook顯示名稱的解決方案:http://stackoverflow.com/questions/22050613/facebookdisplayname-on-ios-with-german-umlauts-solved – Dan

回答

50

這通常來自您在您的.plist中設置FacebookDisplayName,但您在那裏設置的內容與您在Facebook上的應用設置中的應用名稱不匹配。

您在FacebookDisplayName中給出的值必須與您在Facebook上設置的值相符。

+0

好吧,這是問題!謝謝你的幫助 ! – LudoZik

+2

另外,我使用了一個未經過驗證的測試Facebook帳戶。使用經過驗證的帳戶,它運行良好! – LudoZik

+0

答案在Android集成中對我非常有幫助。 – QuokMoon

1

另外還有一個變音符號的問題,你不能在FacebookDisplayName中使用它,例如č,ž,š等等。如果你寫的全部沒有變音符號,它就可以正常工作。

13

進行以下檢查,如果誤差102來

  1. FacebookDisplayName正確無誤設置的plist URL方案
  2. fbxxxxxxxxxxx在plist中
  3. FacebookAppID中正確設置的plist添加文件
  4. 在狀態&評論部分確保你有「做你想讓這個應用程序和所有的直播功能可供大衆使用嗎?「作出YES(默認設置爲無)
+0

你的答案幫了我很多,我錯過了第四種情況,啓用了這個功能,並開始工作,謝謝@mihir mehta –

+0

我還需要啓用應用程序,如4) 。謝謝! –

+0

請注意,答案#4是在Facebook Developers網站上配置的。該部分的當前名稱是「應用程序審閱」,問題的當前文本是「公開讓?」它仍然默認設置爲否,並且需要設置爲是。 – John81

1

我同意@ user3170877。它不能像日本文字和朝鮮使用。我建議只使用英文版。

5

對我來說原來我只是刪除了info.plist中的facebookDisplayName記錄,奇怪的是它的工作原理

+0

也解決了我的問題,仍然有問題接受此解決方法 – longilong

+0

也適用於我:) – Harshad

0

如果沒有其他答案爲你解決這個問題,最後要檢查的是Bundle ID在您的Facebook應用程序設置中
我的iOS應用程序使用了不同的包標識符,這取決於bui我用過的ld配置。
您可以在Facebook應用程序設置中指定多個Bundle ID。

0

如果您的Facebook應用程序狀態爲「開發並且不可用於公衆」將會導致相同的結果。

您可能想要在Facebook應用程序菜單的「應用程序審閱」下將其更改爲公共。或者你需要登錄Facebook角色「管理員」,「開發人員」或「測試人員」