3

伙计们,我正在cocos2dFacebook SDK. 我有一个问题:状态的登录视图Not Logged In保持不变after authentication。我附上图片: 在此处输入图像描述

问题:单击SkipOK按钮后Authentication page,状态必须更改为Login。但事实并非如此。Auth 之后没有 Facebook 代表被调用(当我第一次进入页面时,loginViewShowingLoggedOutUser委托被调用。在 auth 之后,没有被调用。)。

我已经做了什么:

  • 下载 Facebook SDK,附加到项目中。
  • 添加FacebookAppID,FacebookDisplayNameURL Schemesinfo.plist.
  • 尝试与我的cocos2d应用程序集成。
  • 添加<FBLoginViewDelegate>.h.
  • 添加loginview.delegate = self.m.

我还上传了我在我所做的截图info.plist在此处输入图像描述

我将登录视图创建为:

// Create Login View so that the app will be granted "status_update" permission.
FBLoginView *loginview = [[FBLoginView alloc] init];

loginview.frame = CGRectOffset(loginview.frame, 5, 5);
#ifdef __IPHONE_7_0
#ifdef __IPHONE_OS_VERSION_MAX_ALLOWED
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_7_0
    if ([self respondsToSelector:@selector(setEdgesForExtendedLayout:)]) {
        loginview.frame = CGRectOffset(loginview.frame, 5, 25);
    }
#endif
#endif
#endif
loginview.delegate = self;
[[[CCDirector sharedDirector]view]addSubview:loginview];
[loginview sizeToFit];

我发现:appdelegate没有调用 以下方法:

- (BOOL)application:(UIApplication *)application
            openURL:(NSURL *)url
  sourceApplication:(NSString *)sourceApplication
         annotation:(id)annotation {
    // attempt to extract a token from the url
    return [FBAppCall handleOpenURL:url
                  sourceApplication:sourceApplication
                    fallbackHandler:^(FBAppCall *call) {
                        NSLog(@"In fallback handler");
                    }];
}

更多信息:

  • Xcode 版本 5.0.1
  • iOS 版本 7.0
  • facebook-ios-sdk-3.9

任何尽快的帮助都是可观的。

谢谢。

4

2 回答 2

3

对不起@elio.d,伙计们......:非常感谢您的宝贵建议。那是我编码的错误。我已经粘贴了以下方法,就在上面@implementation AppController。我真是个白痴。这只是浪费了我一整天的时间......:

- (BOOL)application:(UIApplication *)application
            openURL:(NSURL *)url
  sourceApplication:(NSString *)sourceApplication
         annotation:(id)annotation {
}

这只是救了我。希望这可能对像我这样的其他人有所帮助。:)

于 2013-11-03T15:56:59.610 回答
1

您必须在您的应用程序中添加一个 url 方案,以使 facebook 应用程序/网站在登录或授权链接到文档后回调您的应用程序,这就是您的应用程序未被调用的原因

于 2013-11-03T13:41:48.170 回答