【问题标题】:Where should I implement my facebook ios sdk code in my Cocos2d Application?我应该在我的 Cocos2d 应用程序中在哪里实现我的 facebook ios sdk 代码?
【发布时间】:2011-09-01 06:21:29
【问题描述】:

我正在尝试将 facebook 集成添加到我使用 Cocos2D 构建的 ios 游戏中。我最初只是将 CCLayer 对象(NSObject 的子类)设为 FBRequestDelegate、FBDialogDelegate 和 FBSessionDelegate。然后我用

创建了一个facebook对象
fb_permissions =  [[NSArray arrayWithObjects:
                        @"read_stream", @"publish_stream", @"offline_access",nil] retain];

facebook = [[Facebook alloc] initWithAppId:kAppId
                                   andDelegate:self];

接下来我打电话

[facebook authorize:fb_permissions];

当用户按下按钮时。一切正常,进入 facebook 登录页面,正确授权我的应用程序等。一旦它返回执行到我的游戏,我期待

- (void)fbDidLogin

要调用的方法,但似乎不是。我有点困惑,只是想知道我是否做错了?我应该在我的根视图控制器中实现我的 facebook sdk 东西吗? IE。让我的视图控制器成为 FB 代表?

是不是我错过了对 handleOpenURL 的调用?哪个似乎已被弃用?我无法找到有关此特定问题的体面文档...

谢谢!!

【问题讨论】:

  • 看起来我需要在我的应用委托中调用 handleOpenURL。我将所有 FB 的东西移到我的视图控制器中,并将对 handleOpenURL 的调用添加到我的委托中,一切似乎都在工作:)

标签: iphone objective-c ios facebook facebook-graph-api


【解决方案1】:

我认为您需要在您的 App Delegate 中实现 handleOpenURL:

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {

    return [facebook handleOpenURL:url]; 
}

编辑:我看到执行返回到你的游戏,所以你可能已经完成了以下操作:

您还需要编辑 .plist 文件以处理来自授权页面的返回。您将在MyApp-info.plist 下添加一个条目

Information Property List->URL Types->Item 0->URL Schemes->Item 0 = "fbYOUR_APP_ID"

按照此处第 6 步末尾的说明进行操作:http://developers.facebook.com/docs/guides/mobile/#ios

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-04
    • 1970-01-01
    • 2010-10-08
    • 1970-01-01
    • 1970-01-01
    • 2015-09-06
    • 1970-01-01
    相关资源
    最近更新 更多