2013-06-18 2 views
1

(BOOL) allowLoginUI가 호출되지 않습니다 :이 (BOOL) openSessionWithAllowLoginUI이 : 나는 모든 지침에 따라

  • (BOOL)openSessionWithAllowLoginUI:(BOOL)allowLoginUI 내 AppDelegate에 헤더 된 구현에
  • NSString *const FBSessionStateChangedNotification에 정의 된 것은 내가 FBLoginView를 사용
  • 고유 , 멋진 샘플 앱처럼 ...

openSessionWithAllowLoginUI는 절대로 calle이 아닙니다. 디!

권한이 설정되어있는 메서드 내부에 있기 때문에 변경할 수 없습니다.

- (BOOL)openSessionWithAllowLoginUI:(BOOL)allowLoginUI 
{ 
    return [FBSession openActiveSessionWithReadPermissions:@[@"basic_info", @"email"] 
               allowLoginUI:allowLoginUI 
             completionHandler:^(FBSession *session, FBSessionState state, NSError *error) 
      { 
       [self sessionStateChanged:session state:state error:error]; 
      }]; 
} 

이 문제를 해결하려면 어떻게해야합니까?

+0

문제가 발생하지 않았습니다. 당신이 말한 방법은 –

+0

입니다. 문제는 메서드가 존재하고 구현되었지만 런타임 중에 호출되지 않는다는 것입니다. –

+0

일부는 그 메소드를 호출해야합니다. 자동으로 호출되지 않습니다. 실제로 applicationDidFinishLaunching에서 당신은 그 메소드를 호출해야만한다. –

답변

2

facebook iOS SDK를 최신 버전으로 업데이트하십시오.

다음과 같이 @ "basic_info"대신 @ "Public_profile"을 사용하십시오. FBLoginView * loginView = [[FBLoginView alloc] initWithReadPermissions : @ [@ "public_profile", @ "email", @ "user_friends"]];

0

Facebook 개발자 사이트에서 제안하는대로, applicationDidFinishLaunching 할 때 섹션을 시작해야합니다. 그러므로 openSessionWithAllowLoginUI : (로그인 UI를 제공 할 필요가 없음)으로 전화해야합니다. 사용자가이 방법으로 로그인하지 않으면 걱정하지 마십시오. 다른 경우 사용자가 이미 승인 된 경우 사용자에 대한 세션을 시작하고 그에 따라 로그인 버튼을 설정할 수 있도록 상태를 변경합니다 (알림을 받게됩니다). 마지막으로이 메소드가 세션을 시작하지 못했습니다. 사용자가 openSessionWithAllowLoginUI를 호출하여 로그인 버튼을 통해 로그인 할 수 있습니다. 예 :

+0

나는 Scrumptious 샘플 앱처럼 로그인을 구현했습니다. 스토리 보드를 사용하여 UIView를 추가하고이를 FBLoginView 클래스와 연결하면됩니다. 권한을 요청하는 나의 문제에 대한 해결책은'viewDidLoad' 메쏘드에서 (그 콘센트를 생성 한 후에)'self.loginView.readPermissions = @ [@ "basic_info", @ "email"];'를 추가하는 것이다. 끔찍하게 문서화되어 있습니다 ... –

+0

@btoueg 문제를 해결했다면 답으로 게시하고 다른 사람들이 해결책을 알 수 있도록 받아들입니다. – Geek

관련 문제