Facebook SDK: приложение не зарегистрировано в качестве схемы URL
Я использую Facebook SDK
нашел здесь, и я пытаюсь пример, который предоставляется (в папке FacebookiOSSample
).
если я просто заменить AppId
вот и моя AppId
, то я больше не могу поделиться. (Я заменил его в и info.plist
file). Теперь я получаю следующее сообщение об ошибке:
FBSDKLog: недопустимое использование FBAppCall, fb * *** не зарегистрирован в качестве URL Схема. Вы установили 'FacebookUrlSchemeSuffix' в ваш файл plist?
в противном случае это прекрасно работает с оригинальными образца AppId
что указывает на то, что называется IFaceTouch
.
что может быть не так с настройкой моего приложения, как я могу зарегистрировать мой AppId
?
8 ответов:
выполните следующие три шага:
- создать раздел под названием FacebookAppID со строковым значением и добавьте туда идентификатор приложения.
- создать раздел под названием FacebookDisplayName со строковым значением и добавьте отображаемое имя, настроенное в панели мониторинга приложения.
- создать ключ массива называется поле с один дополнительный элемент массива называется схемы URL. Дайте этому один элемент с вашим идентификатором приложения с префиксом fb. Это используется для обеспечения приложения будет получать обратный вызов URL веб-потока OAuth.
готовые .plist должен выглядеть примерно так:
с точки зрения необработанных ключей и значений вы должны иметь CFBundleURLTypes и CFBundleURLSchemes. Надеюсь, это поможет!
есть еще один раздел под информацией - типы URL
проверьте, что значения там, под схемы URL поле соответствует значению в типа -> URL-адрес URL-схем в списке свойств выше. (а также соответствовать FacebookAppID)
для iOS 9
Если у вас есть ошибка: 'LSApplicationQueriesSchemes'
на основе Медведь со мной, ответ, вам также придется добавить эти строки:
<key>LSApplicationQueriesSchemes</key> <array> <string>fbauth2</string> </array>
посмотреть этой.
вы должны в конечном итоге с этих строк в конце .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>
на этот ссылке выберите приложение и настроить
info.plist
сегодня я решил эту ошибку, просто удалив пространство из FacebookDisplayName.
убедитесь, что у вас нет места в FacebookDisplayName
1 - в Xcode щелкните правой кнопкой мыши информацию о вашем проекте.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.