2014-10-07 3 views
0

소셜 인증을 위해 Parse 프레임 워크를 사용하고 있습니다. 내 애플 리케이션은 페이스 북에 게시 권한을 요청하는 정말 간단한 방법이 있습니다.구문 분석 : [PFFacebookUtils reauthorizeUser :] 콜백이 호출되지 않습니다.

내 문제 : reauthorizeUser에 전달한 블록이 호출되지 않습니다!

+(void)acquirePublishPermissionsForUser:(DHUser *)user WithCompletion:(void (^) (BOOL succeeded, NSError *error))completion 
{ 
    [PFFacebookUtils reauthorizeUser:user 
       withPublishPermissions:@[@"publish_actions"] 
          audience:FBSessionDefaultAudienceFriends 
           block:^(BOOL succeeded, NSError *error) { 
            completion(succeeded, error); 
           }]; 
} 

이 방법은 정상적으로 작동합니다. 이 경우 Facebook 응용 프로그램이 열리고 권한을 요청하는 메시지가 표시됩니다. OK를 누르면 앱이 내 앱으로 반환됩니다. 모두 openURL & applicationDidBecomeActive가 호출됩니다.

이 내 애플 대리자에 있습니다

- (BOOL)application:(UIApplication *)application 
      openURL:(NSURL *)url 
    sourceApplication:(NSString *)sourceApplication 
     annotation:(id)annotation { 
    // Handle Facebook authentication 
    return [FBAppCall handleOpenURL:url 
        sourceApplication:sourceApplication 
         withSession:[PFFacebookUtils session]]; 
} 


- (void)applicationDidBecomeActive:(UIApplication *)application { 
    // Handle Facebook Authentication 
    [FBAppCall handleDidBecomeActiveWithSession:[PFFacebookUtils session]]; 
} 

나는 확인하기 위해 중단 점을 설정 한 : 내 블록은 결코 실행되지됩니다. 허락을받은 후 Facebook에 게시하기 때문에 정말 중요합니다. 그렇지 않으면 그것은 쓸모가 없다.

아이디어가 있으십니까?

답변

0

직선적 인 FB-API 호출 ([[FBSession activeSession] requestNewPublishPermissions])을 사용하여 끝냈습니다.

내 세션 및 인증 토큰 데이터가 이상하지만 적어도 콜백이 실행됩니다. 확실히 실제 해결책은 아니지만 그렇게 할 것입니다.

관련 문제