我正在使用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的步骤中复制/粘贴的,所以我不知道下一步该做什么。谢谢你的帮助
答案 0 :(得分:0)
进行了一些挖掘并找到了解决方案,这对我有用:
FBSDK Login Error Code: 308 in Objective-C
请注意,我使用的解决方案并不是该链接中投票最高的答案。以下是方便的详细信息:
在项目中启用钥匙串共享(在项目级设置中)