Я использую Facebook SDK
найденный здесь , и пробую образец, который предоставлен (в папке FacebookiOSSample
).
Если я просто заменю AppId
здесь моим конкретным AppId
, то больше не смогу делиться. (Я заменил его и в AppDelegate
файле, и в info.plist
файле). Теперь я получаю следующую ошибку:
FBSDKLog: недопустимое использование FBAppCall, fb **** не зарегистрирован как схема URL. Вы установили FacebookUrlSchemeSuffix в своем списке?
В противном случае это отлично работает с оригиналом образца, AppId
который указывает на что-то с именемIFaceTouch
.
Что может быть не так с настройкой моего приложения, как мне зарегистрировать AppId
?
ios
facebook
xamarin
url-scheme
Л. Дежарден
источник
источник
Ответы:
Выполните следующие три шага:
Готовый .plist должен выглядеть примерно так:
Ссылка на источник:
источник
Что касается необработанных ключей и значений, у вас должны быть CFBundleURLTypes и CFBundleURLSchemes. Надеюсь, это поможет!
источник
под информацией есть еще один раздел - Типы URL
убедитесь, что значения в поле " Схемы URL-адресов" соответствуют значению в типах URL-адресов -> "Схемы URL-адресов" в списке свойств выше. (а также соответствие FacebookAppID)
источник
Для iOS 9
Если у вас есть ошибка: LSApplicationQueriesSchemes
Основываясь на ответе Bear with me , вам также нужно будет добавить эти строки:
<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>
* Если вы используете SDK версии 4.6.0 или выше, вам нужно только добавить: * (Спасибо mohsinj )
<key>LSApplicationQueriesSchemes</key> <array> <string>fbapi</string> <string>fb-messenger-api</string> <string>fbauth2</string> <string>fbshareextension</string> </array>
источник
<key>LSApplicationQueriesSchemes</key> <array> <string>fbapi</string> <string>fb-messenger-api</string> <string>fbauth2</string> <string>fbshareextension</string> </array>
Перейдите по этой ссылке, выберите свое приложение и настройте
info.plist
источник
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.
источник
Сегодня я решил эту ошибку, просто удалив место из FacebookDisplayName. .
убедитесь, что у вас нет места в FacebookDisplayName
источник
Не знаю, похожа ли ваша проблема на мою. Но мне потребовалось некоторое время, чтобы найти его, и я помещу его сюда, чтобы он мог помочь кому угодно .. Проблема заключалась в том, что при входе в Google использовалось то же имя атрибута info.plist, и он перекрывал атрибуты facebook .. Итак, я можно было увидеть это в X-Code и собрать их вместе, теперь все работает нормально! (Атрибут Типы URL).
источник
В моем случае у меня уже были ключи LSApplicationQueriesSchemes и CFBundleURLTypes в моем info.plist, когда я снова добавил их отдельно в info.plist. второй он не читал и не узнает. Поэтому добавление значений в предыдущие ключи LSApplicationQueriesSchemes и CFBundleURLTypes решило мою проблему.
источник
Я тоже столкнулся с той же проблемой. Потом сделал это:
<dict> <key>CFBundleURLSchemes</key> <array> <string>fb154510174913175</string> <string>fbauth2</string> // add this line to remove the error </array> </dict>
и проблема устранена.
источник