0

我试图将 facebook sdk 用于我的 IOS 5 应用程序,我让 IOS 6 与 UIActivityViewController 一起工作。

我使用此代码显示登录按钮

            loginview = [[FBLoginView alloc] init];

        loginview.frame = CGRectOffset(loginview.frame, 65, 50);
        [loginview setDelegate:self];   
        loginview.publishPermissions = @[@"publish_actions"];
        loginview.defaultAudience = FBSessionDefaultAudienceFriends;

        [self.view addSubview:loginview];

它正确显示按钮,当我单击它打开 safari 并要求我授予我的应用程序权限时,我单击是,然后它返回到我的应用程序,但按钮保留登录文本而不是注销文本和任何委托方法(loginViewFetchedUserInfo、loginViewShowingLoggedInUser、...)被调用。

我的代码几乎是从 HelloFacebookSample 项目中复制的。

我的 plist 文件中有 facebook 应用程序 ID 和所有内容。

我真的坚持这一点,我无法在谷歌上找到解决方案,所以我来这里询问作为我最后的希望。

抱歉我的英语不好,感谢您的帮助。

4

2 回答 2

0

确保在您的应用委托中有类似的东西(假设您有 3.5 SDK)

- (BOOL)application:(UIApplication *)application
        openURL:(NSURL *)url
  sourceApplication:(NSString *)sourceApplication
     annotation:(id)annotation {
    // attempt to extract a token from the url
    return [FBAppCall handleOpenURL:url sourceApplication:sourceApplication];
}

您需要进行设置,以便在显示 Safari 后,您的应用程序处理返回的 URL 并将其传递给 SDK 以更新会话信息,进而更新登录按钮状态。

于 2013-05-18T02:49:50.917 回答
0

更改您的按钮标题

- (void)fbDidLogin

委托方法

于 2013-05-08T11:56:24.127 回答