5

我已经按照 Facebook 指南在我的 iOS 应用程序中实现了 Facebook SDK,并在我的 AppDelegate 中设置:

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

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

现在,我还在我的应用程序中实现了切换,并且- (BOOL) application:(UIApplication *)application willContinueUserActivityWithType:(NSString *)userActivityType在应用程序从头开始时永远不会被调用,因为 FBSDKApplicationDelegate sharedInstance 返回 false。

[FBSDKApplicationDelegate sharedInstance]application:didFinishLaunchingWithOptions所以我的问题是:如果我不返回结果并返回我的自定义结果,会有任何副作用吗?例如:

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

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

1 回答 1

3

简答NO。


[FBSDKApplicationDelegate application: didFinishLaunchingWithOptions:] 应该从 [UIApplicationDelegate application:didFinishLaunchingWithOptions:]AppDelegate 的方法为您的应用调用正确使用 Facebook SDK 的方法。

YES如果 url 用于 Facebook SDK,则此方法返回,NO如果不是。


在最新的 Facebook 入门文档中,他们提到了它

要发布来自 Facebook 登录或 Facebook 对话框(或任何需要切换到本机 Facebook 应用程序或 Safari 的操作)的结果,您需要连接AppDelegateFBSDKApplicationDelegate. 在您的 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
  ];
}
于 2016-02-23T05:24:44.317 回答