我有一个 iPhone 应用程序,我可以通过 safari 通过 Facebook 登录,然后它重定向回我的应用程序,但没有调用 fbDidLogin 并且没有调用 fbDidNotLogin。
我可以检测到我的应用何时重新获得焦点,但当时 m_pFacebook.accessToken 仍然为空。
我无法更改 Facebook.m,因为我没有。我的项目正在使用 Facebook 静态库,我不完全确定这意味着我们使用 Facebook.h 而不是 Facebook.m
- (void)attempt
{
m_pFacebook = [[Facebook alloc] initWithAppId:kAppId andDelegate:self];
if (![m_pFacebook isSessionValid])
{
NSLog( @"\nFacebook session is not valid" );
[m_pFacebook authorize:nil];
}
else
{
NSLog( @"\nFacebook session is valid" );
}
}
// Pre iOS 4.2 support
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
NSLog( @"\nhandleOpenURL:%@", url );
return [m_pFacebook handleOpenURL:url];
}
// For iOS 4.2+ support
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
NSLog( @"\nopenURL:%@", url );
return [m_pFacebook handleOpenURL:url];
}
- (void)fbDidLogin
{
NSLog(@"\nFacebook Did Log In");
NSLog(@"\nAccess Token is %@", m_pFacebook.accessToken );
NSLog(@"\nExpiration Date is %@", m_pFacebook.expirationDate );
}
- (void)fbDidNotLogin:(BOOL)cancelled
{
NSLog(@"\n Facebook Failed to log in");
}