Facebook登录按钮不会更改为iOS中的注销按钮(Xcode 8)

时间:2016-09-24 07:10:25

标签: ios objective-c xcode facebook

我正在使用Xcode 8和objective-c。我遵循了Facebook指南,但在使用我的应用程序的管理员用户登录后,我的登录按钮没有切换到注销按钮。我对应用程序开发有点新意,所以我不确定在哪里查看Facebook SDK。我在网上阅读了一些帖子,他们似乎指出了这些指导方针(即问题是通过严格遵守指南来解决的)。我应该提一下,再次登录后,我会通过取消和确定按钮从Facebook获得“您已经授权{{app}}”消息。

这是视图控制器的实现文件:

 <shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <solid android:color="@color/colorPrimary" />
    <stroke android:color="@color/colorPrimary" />
    <corners
        android:bottomLeftRadius="5dp"
        android:bottomRightRadius="5dp"
        android:topLeftRadius="5dp"
        android:topRightRadius="5dp" />
</shape>

控制器视图的标题:

#import "LoginViewController.h"
#import <FBSDKCoreKit/FBSDKCoreKit.h>
#import <FBSDKLoginKit/FBSDKLoginKit.h>

@interface LoginViewController ()
    @property (weak, nonatomic) IBOutlet FBSDKLoginButton *loginButton;
@end

@implementation LoginViewController

-(void)loginButtonDidLogOut:(FBSDKLoginButton *)loginButton {

}

- (void)loginButton:(FBSDKLoginButton *)loginButton didCompleteWithResult:(FBSDKLoginManagerLoginResult *)result error:(NSError *)error
    {

    }

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    self.loginButton.readPermissions = @[@"public_profile", @"email", @"user_friends"];
    FBSDKLoginButton *loginButton = [[FBSDKLoginButton alloc] init];
    loginButton.center = self.view.center;
    [self.view addSubview:loginButton];
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end

Facebook指示改变/添加AppDelegate的实现部分:

#import <UIKit/UIKit.h>
#import <FBSDKCoreKit/FBSDKCoreKit.h>
#import <FBSDKLoginKit/FBSDKLoginKit.h>

@interface LoginViewController : UIViewController <FBSDKLoginButtonDelegate>

我基本上是从Facebook的步骤中复制/粘贴的,所以我不知道下一步该做什么。谢谢你的帮助

1 个答案:

答案 0 :(得分:0)

进行了一些挖掘并找到了解决方案,这对我有用:

FBSDK Login Error Code: 308 in Objective-C

请注意,我使用的解决方案并不是该链接中投票最高的答案。以下是方便的详细信息:

在项目中启用钥匙串共享(在项目级设置中)

Fix Keychain permission issue