我应该在哪里在我的Cocos2d应用程序中实现我的facebook ios sdk代码?

时间:2011-09-01 06:21:30

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

我正在尝试将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

要调用的方法,但似乎不是。我有点困惑,只是想知道我是不是错了?我应该在我的root viewcontroller中实现我的facebook sdk东西吗?即。让我的viewcontroller成为FB委托?

我是否错过了对handleOpenURL的调用?哪个似乎被贬低了?我无法在这个特定问题上找到合适的文档...

谢谢!

1 个答案:

答案 0 :(得分:2)

我认为您需要在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

相关问题