react-native FBSDK LoginManager无法正常工作

时间:2016-07-15 03:20:27

标签: ios react-native fbsdk fbsdkloginkit react-native-fbsdk

我的LoginButton有效,但我的LoginManager没有。


2016-07-14 17:04:36.591 asklegit[2749:839107] *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayI objectAtIndex:]: index 4 beyond bounds [0 .. 3]'
*** First throw call stack:
(
    0   CoreFoundation                      0x0000000110e5cd85 __exceptionPreprocess + 165
    1   libobjc.A.dylib                     0x000000010fd1bdeb objc_exception_throw + 48
    2   CoreFoundation                      0x0000000110d45934 -[__NSArrayI objectAtIndex:] + 164
    3   asklegit                            0x000000010f344640 -[RCTBatchedBridge _handleRequestNumber:moduleID:methodID:params:] + 368
    4   asklegit                            0x000000010f343600 __33-[RCTBatchedBridge handleBuffer:]_block_invoke.460 + 1424
    5   libdispatch.dylib                   0x0000000114637d9d _dispatch_call_block_and_release + 12
    6   libdispatch.dylib                   0x00000001146583eb _dispatch_client_callout + 8
    7   libdispatch.dylib                   0x00000001146401ef _dispatch_main_queue_callback_4CF + 1738
    8   CoreFoundation                      0x0000000110db60f9 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 9
    9   CoreFoundation                      0x0000000110d77b99 __CFRunLoopRun + 2073
    10  CoreFoundation                      0x0000000110d770f8 CFRunLoopRunSpecific + 488
    11  GraphicsServices                    0x0000000115d0ead2 GSEventRunModal + 161
    12  UIKit                               0x0000000112fb8f09 UIApplicationMain + 171
    13  asklegit                            0x000000010f2c7cff main + 111
    14  libdyld.dylib                       0x000000011468c92d start + 1
    15  ???                                 0x0000000000000001 0x0 + 1
)
libc++abi.dylib: terminating with uncaught exception of type NSException

当调用handleLogin()时,它会指示我显示此代码的xcode。

  

/ **    *版权所有(c)2015-present,Facebook,Inc。    * 版权所有。    *    *此源代码根据BSD中的BSD样式许可证授予许可    *此源树的根​​目录中的LICENSE文件。额外的补助金    *专利权可以在同一目录的PATENTS文件中找到。    * /

     

import

     

import" AppDelegate.h"

     

int main(int argc,char * argv []){   @autoreleasepool {   返回UIApplicationMain(argc,argv,nil,NSStringFromClass([AppDelegate> class]));     }   }

在我的xcode控制台中,错误显示了这个,

Firebase/AdMob

任何人都有这个想法吗?

2 个答案:

答案 0 :(得分:1)

通过删除对以前使用的facebook登录包或文件的任何引用来解决此问题。我以前在react-native-facebook-login中使用了FBLoginManager,我从xcode中移除了它,FBSDK LoginManager正常工作!

答案 1 :(得分:1)

如果有人在 iOS 中遇到此问题,请在应用程序中使用通用Deeplink时小心。我在应用程序中使用它们,并在我的应用程序中AppDelegate.m

  return [[FBSDKApplicationDelegate sharedInstance] application:application
      openURL:url
      sourceApplication:options[UIApplicationOpenURLOptionsSourceApplicationKey]
      annotation:options[UIApplicationOpenURLOptionsAnnotationKey]];

  if ([RCTLinkingManager application:application
                                openURL:url
                      sourceApplication:nil
                             annotation:nil]{
      return YES;
   }

现在,由于深层链接代码即将在Facebook链接之前发布,因此它会接收您的网址并承诺永远不会得到解决。因此,将链接代码移动到最后。所以你的整个代码看起来像是: -

- (BOOL)application:(UIApplication *)application
            openURL:(NSURL *)url
            options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
  if ( [[GIDSignIn sharedInstance] handleURL:url
                                     sourceApplication:options[UIApplicationOpenURLOptionsSourceApplicationKey]
                                  annotation:options[UIApplicationOpenURLOptionsAnnotationKey]] ) {
    return YES;
  }

  if ([[FBSDKApplicationDelegate sharedInstance] application:application
      openURL:url
      sourceApplication:options[UIApplicationOpenURLOptionsSourceApplicationKey]
      annotation:options[UIApplicationOpenURLOptionsAnnotationKey]]) {
    return YES;
  }

  return [RCTLinkingManager application:application
                                openURL:url
                      sourceApplication:nil
                             annotation:nil];

希望有所帮助:)

相关问题