0

我试图为 React-Native 实现这个 Facebook-SDK

我按照 README 指南中的步骤进行操作,但无法正常工作。每次我尝试使用 Facebook 登录时,都会收到以下错误消息:

编辑:我正在运行签名的 APK

EDIT2:该错误仅发生在已签名的 APK 上——这意味着什么?

undefined is not a function (evaluating '_reactNativeFacebookLogin.FBLoginManager.loginWithPermissions')
Unable to symbolicate stack trace: Bundle was not loaded from the packager
FATAL EXCEPTION: mqt_native_modules
Process: com.solopro.dogwood, PID: 5018
com.facebook.react.modules.core.JavascriptException: undefined is not a function (evaluating '_reactNativeFacebookLogin.FBLoginManager.loginWithPermi
ssions'), stack:
facebookLogin@76454:62
touchableHandlePress@52180:39
_performSideEffectsForTransition@21343:26
_receiveSignal@21259:38
touchableHandleResponderRelease@21033:20
invokeGuardedCallback@15044:12
executeDispatch@14877:38
executeDispatchesInOrder@14900:16
executeDispatchesAndRelease@14354:42
executeDispatchesAndReleaseTopLevel@14365:35
forEachAccumulated@15179:12
processEventQueue@14527:19
runEventQueueInBatch@15204:33
handleTopLevel@15215:21
<unknown>@14147:39
perform@16143:16
batchedUpdates@31745:20
batchedUpdates@15373:32
_receiveRootNodeIDEvent@14146:28
receiveTouches@14208:48
__callFunction@7706:28
<unknown>@7613:22
guard@7564:3
callFunctionReturnFlushedQueue@7612:6
    at com.facebook.react.modules.core.ExceptionsManagerModule.showOrThrowError(ExceptionsManagerModule.java:90)
    at com.facebook.react.modules.core.ExceptionsManagerModule.reportFatalException(ExceptionsManagerModule.java:78)
    at java.lang.reflect.Method.invoke(Native Method)
    at java.lang.reflect.Method.invoke(Method.java:372)
    at com.facebook.react.bridge.BaseJavaModule$JavaMethod.invoke(BaseJavaModule.java:319)
    at com.facebook.react.bridge.NativeModuleRegistry$ModuleDefinition.call(NativeModuleRegistry.java:187)
    at com.facebook.react.bridge.NativeModuleRegistry.call(NativeModuleRegistry.java:62)
    at com.facebook.react.bridge.CatalystInstanceImpl$NativeModulesReactCallback.call(CatalystInstanceImpl.java:432)
    at com.facebook.react.bridge.queue.NativeRunnableDeprecated.run(Native Method)
    at android.os.Handler.handleCallback(Handler.java:739)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at com.facebook.react.bridge.queue.MessageQueueThreadHandler.dispatchMessage(MessageQueueThreadHandler.java:31)
    at android.os.Looper.loop(Looper.java:135)
    at com.facebook.react.bridge.queue.MessageQueueThreadImpl$3.run(MessageQueueThreadImpl.java:193)
    at java.lang.Thread.run(Thread.java:818)

也许这甚至是一个已知问题。

更新:错误指出函数“loginWithPermissions”甚至在 android 包中不可用,react-native-fbsdk而仅在 iOS 包中可用。我不知道为什么要使用这个功能。我正在使用LoginManager.logInWithReadPermissions(['public_profile', 'email']).then(...)FB-Login

4

1 回答 1

0

提问者很可能已经克服了这个问题。

有时,如果fbjs/lib/invariant在开发过程中使用了一些 Facebook 库(如 ),则必须在构建发布 apk 之前将相关行标记为注释行。

于 2016-10-28T10:37:40.740 回答