2013-07-04 2 views
2

나는 내 ios xcode 게임에 페이스 북을 추가하는 중입니다. 나는 몇 가지 자습서를 따라 한 등이 있지만,이 메소드의 사용자 로그를 호출 할 필요가하지 않았다 문제로 실행하고 그러나Cocos2d 대리인 콜백이 작동하지 않습니다.

- (void) loginViewShowingLoggedInUser:(FBLoginView *)loginView 

이 방법과 관련된 다른 두 가지 방법 이 사람은 부름을받지 않습니다. 이 메소드는 fb 로그인 버튼을 사용하여 페이스 북에 로그온 할 때 호출되어야합니다. 아래 그림과 같이 내 *의 .H에 FBLoginViewDelegate을 구현 한 :

@interface HelloWorldLayer : CCLayer <CCScrollLayerDelegate , FBLoginViewDelegate> {} 

와 나는 페이스 북 SDK를 가져온 :

#import <FacebookSDK/FacebookSDK.h> 

이 프로젝트는적인 Cocos2D 게임입니다,이 코드는 내 주요의 모든입니다 층. 사용자가 로그온 할 때 첫 번째 메소드를 호출 한 다음 로그 아웃 할 때 다른 메소드를 호출해야합니다. FBLoginViewDelegate의 메소드는 호출되지 않습니다. 나는 cocos2d 레이어가 델리게이트를 방해하고 있다고 생각한다.

감사합니다,

편집 1 :

//this is were i create the button and set the delegate. I am using the newest fb sdk to do the rest. This is in my *.m. 

FBLoginView *loginview = [[FBLoginView alloc] init]; 
loginview.frame = CGRectOffset(loginview.frame, 5, 5); 
loginview.delegate = [[CCDirector sharedDirector] openGLView]; 
[[[CCDirector sharedDirector] openGLView] addSubview:loginview]; 
+0

포스트 대리자를 설정하고 페이스 북의 컨트롤러를 만드는 코드를 할 필요가있다. –

+0

편집을 참조하십시오 1. 답장을 보내 주셔서 감사합니다. –

답변

2

당신은 openGLView에 대리자를 설정한다. 이것은 HelloWorldLayer과 동일하지 않습니다. 당신이 HelloWorldLayer 내부 FBLoginView를 작성하는 경우에는

loginview.delegate = self; 
+0

모두 죄송합니다, 감사합니다. 나는 그 변화를 만들었고 모든 것이 효과가있었습니다. –

관련 문제