fbDidLogin没有在我的iPhone应用程序中调用

时间:2012-08-09 01:10:35

标签: iphone facebook opengl-es

我有一个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");
}

1 个答案:

答案 0 :(得分:2)

确保您的视图控制器符合<FBRequestDelegate>协议。