Facebook SDK分享总是返回sharerDidCancel [重复]

Posted

技术标签:

【中文标题】Facebook SDK分享总是返回sharerDidCancel [重复]【英文标题】:Facebook SDK share always returns sharerDidCancel [duplicate] 【发布时间】:2015-07-07 21:05:14 【问题描述】:

我正在尝试使用 Facebook SDK 分享帖子,但无论我分享还是取消帖子,都会调用 sharerDidCancel。 这是我的代码

- (void)shareFacebook 
    FBSDKShareLinkContent *content = [[FBSDKShareLinkContent alloc] init];
    content.contentURL = [NSURL URLWithString:@"http://www.google.com"];
    [FBSDKShareDialog showFromViewController:view
                                 withContent:content
                                    delegate:self];


- (void)sharer:(id<FBSDKSharing>)sharer didCompleteWithResults :(NSDictionary*)results 
    NSLog(@"FB: SHARE RESULTS=%@\n",[results debugDescription]);


- (void)sharer:(id<FBSDKSharing>)sharer didFailWithError:(NSError *)error 
    NSLog(@"FB: ERROR=%@\n",[error debugDescription]);


- (void)sharerDidCancel:(id<FBSDKSharing>)sharer 
    NSLog(@"FB: CANCELED SHARER=%@\n",[sharer debugDescription]);

这个类实现了 FBSDKSharingDelegate,在我的 Info.plist 中我已经输入了 FacebookAppID 和 FacebookDisplayName。

在我的 AppDelegate 中有这个方法:

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

    return [FBAppCall handleOpenURL:url sourceApplication:sourceApplication];

我做错了什么?我完全遵循了 Facebook SDK 指南。

谢谢

【问题讨论】:

【参考方案1】:

已解决,我的错误出在 AppDelegate 方法中:

这里是解决方案的链接http://jitu1990.blogspot.it/2015/05/share-with-facebook-from-ios-app.html

这是代码

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


- (void)applicationDidBecomeActive:(UIApplication *)application 
    [FBSDKAppEvents activateApp];


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

【讨论】:

我也实现了相同的,但仍然总是调用 shareDidCancel...

以上是关于Facebook SDK分享总是返回sharerDidCancel [重复]的主要内容,如果未能解决你的问题,请参考以下文章

为啥 Facebook PHP SDK getUser 总是返回 0?

会话总是返回 null facebook php sdk

android facebook sdk,分享——如何检测成功?

Facebook Graph API Explorer 和 iOS SDK API 调用返回不同的结果

ios facebook swift sdk 共享对话框永远不会返回成功

iOS Facebook SDK 分享照片和从 Facebook 应用程序注销后