[英]Facebook iOS Login - Delegate methods not being called
我正在尝试为我的一个应用程序和委托方法实现Facebook登录 - fbDidLogin:
/ application: handleOpenURL:
/ fbDidNotLogin:
未被调用。 这是我正在使用的代码。 任何帮助深表感谢!
- (void)viewDidLoad
{
...
facebook = [[Facebook alloc] initWithAppId:kFacebookAppId];
}
-(IBAction) loginWithFacebook:(id)sender {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if ([defaults objectForKey:@"FBAccessTokenKey"]
&& [defaults objectForKey:@"FBExpirationDateKey"]) {
facebook.accessToken = [defaults objectForKey:@"FBAccessTokenKey"];
facebook.expirationDate = [defaults objectForKey:@"FBExpirationDateKey"];
}
if (![facebook isSessionValid]) {
NSArray* permissions = [[NSArray arrayWithObjects:
@"email", nil] retain];
[facebook authorize:permissions delegate:self];
}
}
#pragma mark - Facebook delegate
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
return [facebook handleOpenURL:url];
}
- (void)fbDidLogin {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:[facebook accessToken] forKey:@"FBAccessTokenKey"];
[defaults setObject:[facebook expirationDate] forKey:@"FBExpirationDateKey"];
[defaults synchronize];
}
-(void) fbDidNotLogin:(BOOL)cancelled {
}
-(void) fbDidLogout {
}
我还在相应条目下的info.plist
文件中有Facebook App ID。 我在loginWithFacebook:
方法中有断点并且它们成功点击。 [facebook authorize:]
方法也会被调用。
谢谢,
Teja公司。
糟糕,我刚刚意识到application: handleOpenURL:
method是一个iOS应用程序委托方法。 我在其中一个UIViewControllers中使用过它。 将它移动到正确的位置,它的工作原理。
application:handleOpenURL:调用也不会调用委托方法。 应该有什么问题?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.