Facebook SDK: приложение не зарегистрировано как схема URL
Я использую Facebook SDK
найденный здесь, и я пытаюсь предоставить образец, который предоставляется (в папке FacebookiOSSample
).
Если я просто заменил AppId
здесь на свой конкретный AppId
, то я больше не могу делиться. (Я заменил его как в файле AppDelegate
, так и в файле info.plist
). Теперь я получаю следующую ошибку:
FBSDKLog: неверное использование FBAppCall, fb **** не зарегистрировано в качестве URL-адреса Схема. Вы установили "FacebookUrlSchemeSuffix" в свой plist?
В противном случае это отлично работает с образцом оригинала AppId
, который указывает на что-то с именем IFaceTouch
.
Что может быть неправильно при настройке моего приложения, как мне зарегистрировать мой AppId
?
Ответы
Ответ 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>
и проблема исправлена.