IOS의 Facebook 로그인은 에뮬레이터에서 작동하지만 기본 앱이 설치된 장치에서는 작동하지 않습니다.

안드레 무니즈

다음 문제에 직면했습니다. IOS 7에서 Facebook 로그인을 수행해야합니다. 에뮬레이터에서는 제대로 작동하지만 기본 앱이 설치된 장치에서 실행할 때 세션에서 로그인을 수행 할 권한이 없습니다.

코드를 사용하여 세션 생성 : 여기에 이미지 설명 입력

checarLogin 메소드는 다음과 같이 작동합니다.

여기에 이미지 설명 입력

나는 그것을 찾기 위해 검색했고 Facebook 앱의 권한을 제어하는 ​​장치 설정이 두 가지 경우에서 다르게 작동한다는 것을 알아 냈습니다.

에뮬레이터는 문제없이 권한을 부여합니다.

여기에 이미지 설명 입력

다음 이미지는 에뮬레이터에서도 가져 왔지만 기본적으로 장치가 작동하는 방식을 보여주기위한 것입니다.

여기에 이미지 설명 입력

따라서 문제는 기본 Facebook 앱이 설치된 실제 장치에서 실행할 때 로그인을 처리하고 iPhone 설정을 변경할 필요없이 권한을 수락하도록하는 다른 방법이 있다는 것입니다.

이보 아지즈

이것이 제가 내 앱에서 사용하는 것이므로 로그인 UI를 허용해야합니다.

- (BOOL)openSessionWithAllowLoginUI:(BOOL)allowLoginUI completionHandler:(FBSessionStateHandler)handler {

// We pass this permissions array into our request.
// I only request email, but there are many more options.
//
NSArray *permissions = @[@"email", @"basic_info"];

return [FBSession
        openActiveSessionWithReadPermissions:permissions
        allowLoginUI:allowLoginUI
        completionHandler:^(FBSession *session,
                            FBSessionState state,
                            NSError *error) {

            if (handler)
                handler(session, state, error);
        }];

}

그리고 그것이 당신이 그것을 사용하는 방법입니다

        [self openSessionWithAllowLoginUI:YES completionHandler:^(FBSession *session, FBSessionState status, NSError *error) {

            if (!error && status == FBSessionStateOpen) {
                NSString *token = session.accessTokenData.accessToken;

                // You're logged in!

            } else {

                // Something wrong happened

            }
        }];

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관