结合rn-fbsdk并反应原生链接objective-c代码

时间:2017-03-11 15:47:37

标签: ios objective-c react-native react-native-fbsdk

经过调试,我发现了为什么我的应用没有收到深层链接。

这是因为fb代码:

- (BOOL)application:(UIApplication *)application
        openURL:(NSURL *)url
        options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {

BOOL handled = [[FBSDKApplicationDelegate sharedInstance] application:application
                                                            openURL:url
                                                  sourceApplication:options[UIApplicationOpenURLOptionsSourceApplicationKey]
                                                         annotation:options[UIApplicationOpenURLOptionsAnnotationKey]
              ];
// Add any custom logic here.
return handled;
}

您如何将这些组合用于rn链接代码,因为这也是必需的:

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url
  sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
  return [RCTLinkingManager application:application openURL:url
                      sourceApplication:sourceApplication annotation:annotation];
}

2 个答案:

答案 0 :(得分:1)

fragment

用它修复它。

答案 1 :(得分:1)

这就是我如何组合链接,RN fbsdk,RN google signin

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url
  sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {

  return [[FBSDKApplicationDelegate sharedInstance] application:application
                                                        openURL:url
                                              sourceApplication:sourceApplication
                                                     annotation:annotation
          ]
  || [RNGoogleSignin application:application
                         openURL:url
               sourceApplication:sourceApplication
                      annotation:annotation
      ]
  || [RCTLinkingManager application:application openURL:url
                  sourceApplication:sourceApplication annotation:annotation
      ];

}