我正在尝试将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的调用?哪个似乎被贬低了?我无法在这个特定问题上找到合适的文档...
谢谢!
答案 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