다음 문제에 직면했습니다. 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] 삭제
몇 마디 만하겠습니다