Подтвердить что ты не робот

Facebook SDK - iOS - Не удается отправить URL (ошибка 102)

Я пытаюсь интегрировать простой URL-адрес в мое приложение, следуя специальному учебнику Facebook (ссылка)

В моем приложении я просто нажимаю кнопку, в которой отображается диалоговое окно, где я могу ввести комментарий. Эта часть работает. Тем не менее, когда я нажимаю "Post", я получаю следующую ошибку:

Ошибка домена = com.facebook.Facebook.platform Code = 102 "Операция не может быть завершена. (com.facebook.Facebook.platform error 102.)" UserInfo = 0x14dd1a10 {error_message = Не удалось аутентифицировать приложение из-за приложения несоответствие имени. Проверьте имя приложения, настроенное в диалоговом окне., App_id = 000000, error_code = 102}

(В этом сообщении я просто заменил нулями app_id, который я получил на странице разработчика Facebook.)

В настройках приложения Facebook я устанавливаю следующее как таковое:

  • "Отображаемое имя": то же имя, что и имя приложения
  • "Bundle ID" с возвратом строки [[NSBundle mainBundle] bundleIdentifier];
  • Приложение является "живым" (не в песочнице).
  • "Deep Linking" и "Connect to FB": оба активированы

Когда я сохраняю свои настройки на странице FB dev, я получаю предупреждение о том, что я не установил идентификатор AppStore (который еще не доступен, так как я разрабатываю приложение).

Не могли бы вы рассказать мне, что я не сделал правильно?

Заранее благодарим за ваш ответ.

Я буду рад предоставить вам дополнительную информацию, если это необходимо.

4b9b3361

Ответ 1

Это обычно происходит от того, что вы устанавливаете имя FacebookDisplayName в своем .plist, но то, что вы там установили, не соответствует имени вашего приложения в настройках вашего приложения на Facebook.

Значение, которое вы даете в FacebookDisplayName, должно соответствовать тому, что вы установили на Facebook.

Ответ 2

Обратите внимание, что если ошибка 102 приходит

  • FacebookDisplayName установлено правильно и правильно в схеме URL-адреса plist
  • fbxxxxxxxxxxx добавлен в plist
  • FacebookAppID установлен правильно в файле plist
  • в разделе "Статус" и "Обзор". Убедитесь, что у вас есть "Вы хотите сделать это приложение и все его живые функции доступными для широкой публики?" сделайте как ДА (По умолчанию оно установлено как Нет)

Ответ 3

Для меня ни одно из этих решений не работало. Оказалось, мне просто нужно было удалить запись facebookDisplayName из info.plist. Странно, но он работал

Ответ 4

Существует также проблема с диакритическими знаками, вы не можете использовать ее в FacebookDisplayName... например, č, ž, š и т.д. Если вы пишете все без диакритики, она работает нормально.

Ответ 5

Я согласен с @user3170877. он не может использоваться как японское письмо и корейский. Я рекомендую использовать только английский язык.

Ответ 6

Если ни один из других ответов не устранил эту проблему для вас, последнее, что нужно проверить, это идентификатор Bundle в настройках вашего приложения Facebook.
У меня была эта проблема для моего приложения iOS, в котором использовался другой идентификатор пакета в зависимости от конфигурации сборки, которую я использовал.
Вы можете указать несколько идентификаторов пакетов в настройках вашего приложения Facebook.

Ответ 7

Если ваш статус приложения Facebook является "разработкой и недоступен для общественности", это приведет к такому же результату.

Вы можете изменить его для публики в разделе "Обзор приложений" в меню приложения Facebook. Или вам нужно войти в Facebook как роль "Администраторы", "Разработчики" или "Тестеры".