2009-09-01 3 views
1

iPhone에서 facebook connect를 사용할 때 제공된 로그인 버튼과 프레임 워크에 내장 된 로그인 화면을 사용해야합니까? 내가 물어 보는 이유는 내가 트위터를 사용하고 있기 때문에 페이스 북에 로그인 할 때와 마찬가지로 사용자에게 로그인 할 때도 동일한 사용자 환경을 원합니다. 그래서 나는 트위터에 로그인 화면 페이스 북 연결 복제를 사용하거나 페이스 북 연결 로그인 화면을 함께 사용하지 않을 수 있습니다.아이폰에 연결 Facebook 질문에 연결

답변

2

로그인 버튼 : 아니요. 로그인 화면 : 예. FB Connect를 iPhone 용 FriendFeed 앱에 추가하고 Stir을 클릭하고 로그인 버튼을 건너 뛰었습니다. 대신 사용자는 UIActionSheet에서 "Facebook에서 공유"버튼을 선택할 수 있으며 사용자가 인증되었는지 여부에 따라 로그인 화면을 표시하거나 자동으로 링크를 게시합니다.

다음은 코드 단편입니다. 세션이 성공적으로 다시 시작되면 FBSession 개체의 대리자에 대한 메서드가 호출됩니다.

if (![fbSession resume]) { 
    FBLoginDialog* dialog = [[[FBLoginDialog alloc] initWithSession:fbSession] autorelease]; 
    [dialog show]; 
} 

- (void)session:(FBSession*)session didLogin:(FBUID)uid { 
    NSLog(@"Hooray, I'm logged in to Facebook!"); 
} 

위의 예에서 약간 애매한 것에 사과드립니다. 솔직히 말해서, FBConnect는 약간의 미스테리이며, 구현하기 위해 최선을 다하고 가능한 빨리 앱에서 빠져 나간다는 것을 알았습니다. 더 많은 정보가 필요하면 더 구체적으로 답변 해 드리겠습니다. 아래의 요청에 따라

는 :

당신은 FBSession+sessionForApplication:secret:delegate 클래스 메소드를 사용하여 FBSession 개체를 얻을 수 있습니다. 세션 개체에 -resume을 호출합니다. YES을 반환하면 즉시 대리자의 -session:didLogin: 메서드를 호출하여 FB 종속 동작을 배치해야합니다. -resume을 성공적으로 가져 오지 못한 경우 위 코드 스 니펫과 같이 FBLoginDialog을 만들어야합니다. 이해가 되니? 더 많은 정보가 필요하면 알려주세요

+0

위 코드에서 fbSession 객체는 어떻게 얻었습니까? 로그인 화면을 불러 와서 새 앱을 만드는 방법을 알고 있지만 사용자가 앱을 이전에 실행하는 동안 이미 인증 한 후에 올바른 세션을 얻는 방법을 잘 모르겠습니다. 감사. –