2013-01-14 2 views
0

Facebook iOS SDK 3.1.1을 사용 중이며 많은 Facebook 기능이 성공적으로 통합되었습니다. 3.1.1 준수, 나는 그럼 난 "apprequests"을 보낼 필요하고, SDK 3.1에 구현하는 새로운 방법이 없다, 그래서 사용되지 않는 API에 폴백했습니다3.0 SDK가 포함 된 Facebook apprequests

 [FBSession openActiveSessionWithPermissions:permission 
             allowLoginUI:bAllowLoginUI 
            completionHandler:^(FBSession *session, FBSessionState state, NSError *error) { 
            [self sessionStateChanged:session state:state error:error]; 
     }]; 

을 사용하여 로그인하고 Facebook 개체 및 FBDialog.

그러나, 사용되지 않는 대화 함수 호출 다음 FBDialog에

[m_pFacebook dialog:@"apprequests" 
      andParams:params 
     andDelegate:delegate]; 

결과를 진열하고 대화를 통해 다시 로그인 사용자에게 메시지를 표시합니다. 필자는 사용자가 자격 증명을 다시 입력 할 필요없이 apprequests 대화 상자로 직접 이동해야하며 Diamond Dash 및 기타 게임에서 구현 된 것을 본대로 할 수있는 방법이 있다고 확신합니다.

나는 FBSession.activeSession.accessToken으로 m_pFacebook.accessToken 설정을 시도했습니다, 나는 또한 m_pFacebook.session이 FBSession의 세션에 로그인

누구든지 전에이 문제가 발생 충전되어 있는지 확인 했는가?

답변

0

일부 디버깅 후 Facebook * m_pFacebook 개체의 만료 날짜가 업데이트되지 않았으므로 _lastAccessTokenUpdate가 여전히 [NSDate distantPast]에 있음을 알았습니다.

- (void) sessionStateChanged:(FBSession*)session state:(FBSessionState)state error:(NSError*)error { 
    switch (state) { 
     case FBSessionStateOpen: 
      [m_pFacebook fbDialogLogin:session.accessToken expirationDate:session.expirationDate]; 
     break; 
    } 
} 
FBSessionStateOpen

에 sessionStateChanged 때이 솔루션은

[m_pFacebook fbDialogLogin:session.accessToken expirationDate:session.expirationDate]; 

를 호출하는 것입니다

관련 문제