Facebook SDK ios v4.4.0 didFinishLaunchingWithOptions Facebook SDK ios v4.4.0中的didFinishLaunchingWithOptions

5

我已经按照Facebook的指南在我的iOS应用程序中实现了Facebook SDK,在我的AppDelegate文件中设置了以下内容:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
 // more code

  return [[FBSDKApplicationDelegate sharedInstance] application:application didFinishLaunchingWithOptions:launchOptions];
}

现在,我也在我的应用程序中实现了手动切换,并且当应用程序从头开始启动时,如果FBSDKApplicationDelegate sharedInstance返回false,则不会调用- (BOOL) application:(UIApplication *)application willContinueUserActivityWithType:(NSString *)userActivityType
所以我的问题是:如果我不返回[FBSDKApplicationDelegate sharedInstance]application:didFinishLaunchingWithOptions的结果,而是返回我的自定义结果,是否会有任何副作用?例如:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
 // more code

  [[FBSDKApplicationDelegate sharedInstance] application:application didFinishLaunchingWithOptions:launchOptions];
  return YES;
}

1
我也非常需要这个问题的答案...... - JuHong Jung
@agy 你找到解决办法了吗? - user2526811
这个有更新了吗? - swalkner
1个回答

3

简短的回答是NO。


[FBSDKApplicationDelegate application:didFinishLaunchingWithOptions:]方法只应在您的应用程序的AppDelegate中的[UIApplicationDelegate application:didFinishLaunchingWithOptions:]方法中调用,以便正确使用Facebook SDK。

如果URL是为Facebook SDK而设计的,则此方法返回YES,否则为NO


在最新的Facebook入门文档中提到它

要对Facebook登录或Facebook对话框(或需要切换到本机Facebook应用程序或Safari的任何操作)的结果进行后处理,您需要将AppDelegate连接到FBSDKApplicationDelegate。 在您的AppDelegate.m中添加:

//  AppDelegate.m
#import <FBSDKCoreKit/FBSDKCoreKit.h>

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  [[FBSDKApplicationDelegate sharedInstance] application:application
    didFinishLaunchingWithOptions:launchOptions];
  return YES;
}

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接