微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ios – 用于FBSDK和LinkingManager的AppDelegate.m

要使用FBSDK,我需要在app delegate中使用此代码
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url 
    sourceApplication:(Nsstring *)sourceApplication annotation:(id)annotation {

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

要使用LinkingManager,我需要在app delegate中使用此代码

#import "RCTLinkingManager.h"

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

他们显然是重复的.我如何将两者结合起来使两个库都有效?
我不知道任何Objective-C

解决方法

当然,您只能在AppDelegate中实现此方法一次.

[[FBSDKApplicationDelegate …和[RCTLinkingManager …都返回BOOL.

您可以将两个片段放在同一个方法中.如果[RCTLinkingManager …和[[FBSDKApplicationDelegate …]返回YES,我建议返回YES.否则,返回NO.

它可能看起来像这样:

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

  BOOL handledFB = [[FBSDKApplicationDelegate sharedInstance] application:application
    openURL:url
    sourceApplication:sourceApplication
    annotation:annotation
  ];

  BOOL handledRCT = [RCTLinkingManager application:application openURL:url sourceApplication:sourceApplication annotation:annotation];

  return handledFB || handledRCT;
}

我不能保证,你可以在同一个应用程序中使用FBSDKApplicationDelegate和RCTLinkingManager,因为我从未使用过这个.但是你的代码至少应该编译.

原文地址:https://www.jb51.cc/iOS/334734.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐