Objective c Facebook iOS登录-未调用委托方法
我正在尝试为我的一个应用程序实现Facebook登录,并且没有调用委托方法-Objective c Facebook iOS登录-未调用委托方法,objective-c,ios,facebook,Objective C,Ios,Facebook,我正在尝试为我的一个应用程序实现Facebook登录,并且没有调用委托方法-fbdilogin:/应用程序:handleopeanurl:/fbdilnotlogin:。这是我正在使用的代码。非常感谢您的帮助 - (void)viewDidLoad { ... facebook = [[Facebook alloc] initWithAppId:kFacebookAppId]; } -(IBAction) loginWithFacebook:(id)sender {
fbdilogin:
/应用程序:handleopeanurl:
/fbdilnotlogin:
。这是我正在使用的代码。非常感谢您的帮助
- (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应用程序ID。我在使用Facebook:登录的方法中有断点,它们成功命中。[facebook authorize:][/code>方法也会被调用
谢谢,
Teja.哦,我刚刚意识到应用程序:handleOpenURL:
方法是一种iOS应用程序委托方法。我把它放在一个UIViewController里了。将它移动到正确的位置,它就可以工作。应用程序:handleOpenURL:calls,而不调用委托方法。问题应该是什么 您是否确保将自己设置为FBSessionDelegate?我认为[facebook autorize:permissions delegate:self]
会设置会话委托。我也尝试过使用[FacebookSetSessionDelegate:self]
进行设置,但仍然得到相同的结果。