react-native-fbsdk URL-адрес redirect_uri не поддерживается

Я пытаюсь использовать react-native-fbsdk, чтобы пользователи могли входить в мое приложение. Я установил кнопку входа.

код:

import React, { Component } from 'react'
import { View } from 'react-native'
import { LoginButton, AccessToken } from 'react-native-fbsdk'

export default class FBLoginButton extends Component {
  render() {
    return (
      <View>
        <LoginButton
          onLoginFinished={
            (error, result) => {
              if (error) {
                alert('Login failed with error: ' + error.message)
              } else if (result.isCancelled) {
                alert('Login was cancelled')
              } else {
                AccessToken.getCurrentAccessToken().then(
                    (data) => {
                      console.log(data.accessToken.toString())
                    }
                  )
              }
            }
          }
          onLogoutFinished={() => alert('User logged out')}/>
      </View>
    )
  }
}

Когда я нажимаю кнопку входа, я получаю это в симуляторе

введите здесь описание изображения

Если я пытаюсь добавить разрешения, я получаю ошибку xcode:

код:

<LoginButton
          publishPermissions={['email']}
          onLoginFinished={...

ошибка: Thread1: сигнал SIGABRT

Как избавиться от ошибки redirect_uri?


person BeniaminoBaggins    schedule 30.09.2018    source источник
comment
Это может помочь: 1. developers.facebook.com /blog/post/2017/12/18/ 2. janrain.com/blog/? Я имею в виду, вы установили или указали URI перенаправления? Вы также должны проверить, действительно ли перенаправление вообще.   -  person Samuli Hakoniemi    schedule 30.09.2018
comment
@zvona Я ничего не делал с URI перенаправления, поскольку вам это не нужно при использовании react-native-fbsdk. Я изучаю это сейчас, но изо всех сил пытаюсь соединить точки при использовании его с реагирующим нативом. Я не знаю, к какому URI перенаправления он вообще пытается перейти.   -  person BeniaminoBaggins    schedule 01.10.2018
comment
замените publishPermissions на readPermissions, эта проблема часто возникает у новых разработчиков, работающих с реакцией;) вы только что использовали имя опоры старой версии   -  person saniales    schedule 07.03.2019


Ответы (1)


У меня были неправильные FacebookAppId и CFBundleURLSchemes в файле info.plist моего ios/appName/info.plist. Мне пришлось перейти на https://developers.facebook.com/apps/29476792337468632/fb-login/quickstart/?sdk=fbsdk, чтобы узнать, что такое идентификатор приложения (он отображается на панели навигации рядом с названием вашего приложения). Краткое руководство на самом деле даст вам весь приведенный ниже блок кода с правильным идентификатором приложения для вставки в info.plist.

<key>CFBundleURLTypes</key>
<array>
  <dict>
  <key>CFBundleURLSchemes</key>
  <array>
    <string>fb29476792337468632</string>
  </array>
  </dict>
</array>
<key>FacebookAppID</key>
<string>29476792337468632</string>
<key>FacebookDisplayName</key>
<string>My App Name</string>
person BeniaminoBaggins    schedule 30.09.2018