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

Facebook SDK: приложение не зарегистрировано как схема URL

Я использую Facebook SDK найденный здесь, и я пытаюсь предоставить образец, который предоставляется (в папке FacebookiOSSample).

Если я просто заменил AppId здесь на свой конкретный AppId, то я больше не могу делиться. (Я заменил его как в файле AppDelegate, так и в файле info.plist). Теперь я получаю следующую ошибку:

FBSDKLog: неверное использование FBAppCall, fb **** не зарегистрировано в качестве URL-адреса Схема. Вы установили "FacebookUrlSchemeSuffix" в свой plist?

В противном случае это отлично работает с образцом оригинала AppId, который указывает на что-то с именем IFaceTouch.

Что может быть неправильно при настройке моего приложения, как мне зарегистрировать мой AppId?

4b9b3361

Ответ 1

Выполните следующие три шага:

  • Создайте ключ с именем FacebookAppID со строковым значением и добавьте там идентификатор приложения.
  • Создайте ключ с именем FacebookDisplayName со строковым значением и добавьте отображаемое имя, настроенное в панели приложений.
  • Создайте ключ массива, называемый типами URL, с подэлементом одного массива, который называется Схемы URL. Дайте этому единый элемент с вашим идентификатором приложения, префиксом fb. Это используется для обеспечения того, чтобы приложение получало обратный вызов URL веб-потока OAuth.

Готовый .plist должен выглядеть примерно так:

enter image description here

Ссылка источника:

Ответ 2

In terms of raw keys and values you should have CFBundleURLTypes and CFBundleURLSchemes

В терминах необработанных ключей и значений вы должны иметь CFBundleURLTypes и CFBundleURLSchemes. Надеюсь, что это поможет!

Ответ 3

есть другой раздел ниже типов <- > типов

убедитесь, что значения в поле "Схемы URL" соответствуют значению в типах URL → Схемы URL в списке свойств выше. (а также соответствуют FacebookAppID)

URL TYPES

Ответ 4

Для iOS 9

Если у вас есть ошибка: "LSApplicationQueriesSchemes"

Основываясь на Медведь со мной ответить, вам также придется добавить эти строки:

<key>LSApplicationQueriesSchemes</key>
<array>
   <string>fbauth2</string>
</array>

См. this.

В конце ваших файлов .plist вы должны будете положить эти строки:

<key>CFBundleURLTypes</key>
    <array>
        <dict>
            <key>CFBundleURLSchemes</key>
            <array>
                <string>fb2R3234544534554</string>
            </array>
        </dict>
    </array>
    <key>FacebookAppID</key>
    <string>2R3234544534554</string>
    <key>FacebookDisplayName</key>
    <string>stevejeff</string>
    <key>NSAppTransportSecurity</key>
    <dict>
        <key>NSExceptionDomains</key>
        <dict>
            <key>facebook.com</key>
            <dict>
                <key>NSIncludesSubdomains</key>
                <true/>
                <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
                <false/>
            </dict>
            <key>fbcdn.net</key>
            <dict>
                <key>NSIncludesSubdomains</key>
                <true/>
                <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
                <false/>
            </dict>
            <key>akamaihd.net</key>
            <dict>
                <key>NSIncludesSubdomains</key>
                <true/>
                <key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
                <false/>
            </dict>
        </dict>
    </dict>
    <key>LSApplicationQueriesSchemes</key>
    <array>
        <string>fbauth2</string>
    </array>
    </dict>
    </plist>

* Если вы используете v4.6.0 или более поздней версии SDK, вам нужно добавить: * (Спасибо mohsinj)

   <key>LSApplicationQueriesSchemes</key>
      <array>
        <string>fbapi</string>
        <string>fb-messenger-api</string>
        <string>fbauth2</string>
        <string>fbshareextension</string>
   </array>

Ответ 5

Перейдите к Ссылка Выберите свое приложение и настройте info.plist

Ответ 6

1- В XCode щелкните правой кнопкой мыши на файле Info.plist вашего проекта и выберите "Открыть как" → "Исходный код".

2- Вставьте следующий фрагмент XML в тело вашего файла непосредственно перед последним элементом </dict>.

  <key>CFBundleURLTypes</key>
<array>
  <dict>
    <key>CFBundleURLSchemes</key>
    <array>
      <string>fb{your-app-id}</string>
    </array>
  </dict>
</array>
<key>FacebookAppID</key>
<string>{your-app-id}</string>
<key>FacebookDisplayName</key>
<string>{your-app-name}</string>
<key>LSApplicationQueriesSchemes</key>
<array>
  <string>fbapi</string>
  <string>fb-messenger-share-api</string>
  <string>fbauth2</string>
  <string>fbshareextension</string>
</array>

3- Замените {your-app-id} и {your-app-name} на идентификатор приложения и имя приложения, найденные на панели инструментов приложения Facebook.

Ответ 7

Сегодня я решил эту ошибку, просто удалив пробел из FacebookDisplayName.

убедитесь, что у вас нет места в FacebookDisplayName

Ответ 8

Я не знаю, такая ли у вас проблема, как у меня. Но мне потребовалось некоторое время, чтобы найти его, и я поставлю его здесь, чтобы он мог кому-нибудь помочь. Проблема заключалась в том, что при входе в Google использовалось одно и то же имя атрибута info.plist, и оно перекрывало те, что были в Facebook.. Так что я мог увидеть это в X-Code и собрать их вместе, теперь все работает отлично! (Атрибут Типы URL).

Ответ 9

У меня тоже была такая же проблема. Затем сделал следующее:

<dict> <key>CFBundleURLSchemes</key> <array> <string>fb154510174913175</string> <string>fbauth2</string> // add this line to remove the error </array> </dict>

и проблема исправлена.