2017-03-11 2 views
0

Après le débogage, j'ai découvert pourquoi mon application ne reçoit pas les liens profonds.Combinaison de rn-fbsdk et réaction n-code de lien objectif-c

Il est à cause du code 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; 
} 

Comment pensez-vous que de les combiner pour le code de liaison rn, car il est également nécessaire:

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

Répondre

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

    NSString * scheme = (NSString*)url.scheme; 
    NSString * fbScheme = @"fb123456789"; 

    if ([fbScheme isEqualToString:scheme]) { 
    return [[FBSDKApplicationDelegate sharedInstance] 
      application:application openURL:url sourceApplication:sourceApplication annotation:annotation]; 
    } else { 
    //Your other stuff here 
    } 
} 

le fixe avec ça.

0

Voilà comment je combiné liant, 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 
     ]; 

}