Mine은 Objective-C의 iOS 앱으로 로그인 기능을위한 Facebook SDK가 통합되어 있습니다.iOS 앱과 통합 된 페이스 북 로그인 페이지의 간헐적 인 닫기
내 단추를 표시하는 mainview 컨트롤러가 있습니다. 버튼을 클릭하면 아래의 코드가 버튼 핸들러에서 실행됩니다. 이 간헐적 인 페이스 북의 로그인 페이지가 몇 시간 동안 무인/그대로 방치하면 페이스 북의 로그인 페이지가, 우리의 응용 프로그램 내에서 웹보기에 표시됩니다
FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init];
[login
logInWithReadPermissions: @[@"public_profile", @"email"]
fromViewController:self
handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
if (error) {
NSLog(@"Process error %@",error.description);
}
else if (result.isCancelled) {
NSLog(@"Cancelled");
}
else {
if ([result.grantedPermissions containsObject:kEmail]) {
[self fetchfbUserInfo];
}
else {
NSLog(@"User Declined permissions");
}
}
}];
는 콘솔에 다음과 같은 내용의 오류가을 닫습니다.
몇 가지 리버스 엔지니어링을했고 FBSDKApplicationDelegate 클래스의 대리자 메서드는 오류 메시지가 불려 오지해야 함을 발견했다. (alreay 로그인 한 경우 또는 앱 인증 페이지) 로그인 페이지가 /가 종료 이유에FBSDKLog : 오류 다음 SFSafariViewController의 부모보기 컨트롤러가 해산되었다. UIAlertController에서 로그인 을 트리거하는 경우 이런 일이 발생할 수 있습니다. 대신, 최고보기 인 컨트롤러가 조기에 해제되지 않도록하십시오.
- (void)viewControllerDidDisappear:(FBSDKContainerViewController *)viewController animated:(BOOL)animated
{
if (_safariViewController) {
[FBSDKLogger singleShotLogEntry:FBSDKLoggingBehaviorDeveloperErrors
logEntry:@"**ERROR**:\n The SFSafariViewController's parent view controller was dismissed.\n"
"This can happen if you are triggering login from a UIAlertController. Instead, make sure your top most view "
"controller will not be prematurely dismissed."];
[self safariViewControllerDidFinish:_safariViewController];
}
}
모든 원인은 자신에 일축?
알아 냈습니까? 나는 같은 문제가있다 – Laurent
나는 똑같은 문제가 있다는 것을 알아 냈는가? – erdemgc
나는이 문제를 해결할 수있는 해결책이 있습니까? –