ios Facebook 登录按钮 - 不会更改为注销
Posted
技术标签:
【中文标题】ios Facebook 登录按钮 - 不会更改为注销【英文标题】:ios Facebook Login button - doesn't change to Log out 【发布时间】:2015-07-05 09:21:48 【问题描述】:我正在使用 Xcode 6 和 Facebook ios SDK 4.3, 我根据Facebook's guide 嵌入了代码并且登录有效,但是 出于某种原因 -
我登录后,按钮不会变为“注销”,而是保持“使用 Facebook 登录”。
有人遇到过这个问题吗?
【问题讨论】:
【参考方案1】:所以我从头再来,跟着instructions from the guide:
1.在viewController.h文件中:
#import < FBSDKCoreKit/FBSDKCoreKit.h> //<-delete the space
#import < FBSDKLoginKit/FBSDKLoginKit.h>//<-delete the space
@interface ViewController : UIViewController<FBSDKLoginButtonDelegate>
@property (weak, nonatomic) IBOutlet FBSDKLoginButton *loginButton;
2.在viewController.m文件中:
-(void) viewDidLoad
if ([FBSDKAccessToken currentAccessToken])
// User is logged in, do work such as go to next view controller.
self.loginButton.readPermissions = @[@"public_profile", @"email", @"user_friends"];
FBSDKLoginButton *loginButton = [[FBSDKLoginButton alloc] init];
[self.view addSubview:loginButton];
在那之后不起作用,I've found this thread 提到我还需要向 AppDelegate 添加一些东西 didFinishLaunchingWithOptions :
return [[FBSDKApplicationDelegate sharedInstance] application:application
didFinishLaunchingWithOptions:launchOptions];
和
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
return [[FBSDKApplicationDelegate sharedInstance] application:application
openURL:url
sourceApplication:sourceApplication
annotation:annotation];
然后它起作用了! 最后,我将 Log in 按钮更改为 Log out!
【讨论】:
谢谢!我一直在为 FB 的文档而苦苦挣扎。在我看来,它们非常模糊。无论如何你解决了我的问题:) 添加-它不仅登录更改为注销,而且登录过程不会在没有application:openUrl:sourceApplication:annotation
的情况下完成。所以现在我可以使用登录结果对象了。
正如@Gab 所说,在模拟器中您可能看不到注销按钮自动更改。【参考方案2】:
我遇到了同样的问题,但在任何地方都找不到答案。 原来这是一个模拟器问题;一旦我在设备(iOS 9.3.1)上运行相同的代码,一切都很好。
【讨论】:
【参考方案3】:记得开启钥匙串分享功能
【讨论】:
以上是关于ios Facebook 登录按钮 - 不会更改为注销的主要内容,如果未能解决你的问题,请参考以下文章
React Native Facebook 登录按钮在 iOS 模拟器中使应用程序崩溃