ios - FBSDKLoginManager logInWithPublishPermissions 总是返回 isCancelled=YES

标签 ios facebook facebook-ios-sdk

我无法弄清楚如何让用户登录我的应用程序。 [FBSDKAccessToken currentAccessToken] 为 nil,所以我调用:

[[[FBSDKLoginManager alloc] init] logInWithPublishPermissions:@[@"publish_actions"] handler:…];

根据包含的示例项目。这将切换到 Facebook 应用程序,但消息显示“您已经授权应用程序名称。”。我单击确定,它返回到应用程序,但 grantedPermissionsdeclinedPermissions 结果都是 nil,并且 isCancelledYES[FBSDKAccessToken currentAccessToken] 仍然是 nil

我不知道我应该如何填写 currentAccessToken。在我看来,对 logInWithPublishPermissions 的调用应该这样做,但它不是。

最佳答案

您应该尝试在您的 AppDelegate didFinishLaunchingWithOptions 中添加:

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

这会在用户登录时获取 [FBSDKAccessToken currentAccessToken]

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

如果此方法不存在于 AppDelegate 中,则它会进入取消状态。

引用:https://developers.facebook.com/docs/ios/getting-started#startcoding

关于ios - FBSDKLoginManager logInWithPublishPermissions 总是返回 isCancelled=YES,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29358661/

相关文章:

android - 支持 Web 和移动设备的单一 AngularJS 代码库

ios - swift segue 未声明的类型破坏了代码

ios - Swift 通用闭包

ios - FBSDKLoginKit,注销完成时如何回调?

ios - Facebook 登录总是返回为已取消。 (iOS swift )

ios - 了解iOS应用添加facebook登录的流程

ios - Swift sortinplace 二元运算符 > 不能应用于两个 nsnumber 操作数

facebook - 我可以使用 UIActivityViewController 在 Facebook 上分享吗?

android - Facebook loginwithpublishpermissions 回调不工作

c# - Facebook Graph API 在用户未登录时获取数据