2014-03-24 6 views
1

UIWebView 인 앱에 Facebook 로그인이있는 web page이 표시되는 앱이 있습니다. Facebook의 JavaScript SDK (iOS SDK를 사용할 수 없음)를 사용하고 있습니다.Safari에서는 Facebook 로그인이 작동하지만 UIWebView에서는 작동하지 않습니다.

모바일 사파리에서는 사이트를 열었을 때 로그인이 완벽하게 작동하지만 웹보기에서는 그렇지 않습니다. 로그인 대화 상자가 열리고 사용자 자격 증명을 입력하면 공백 페이지로 리디렉션됩니다. 나는이 원인을 알아. 일반 브라우저에서이 로그인 대화 상자가 새 창에서 열립니다. 그러나 UIWebView은 여러 개의 창을 지원하지 않기 때문에 로그인이 웹 페이지를 대체하고 성공적으로 로그인하면 다시 원래의 웹 페이지로 리디렉션 할 수 없습니다.

나는 SO를 솔루션 전체에서 검색했지만 거의 모든 솔루션이 구형입니다. 나는 이것에 대해 곧장 앞으로 수정 프로그램이 있다고 생각하지 않지만 누군가가 해결 방법/해킹을 가지고 있다면 나를 도와주세요.

감사합니다.

+0

@rAzOr 실제로이 문제에 대한 해결책을 찾지 못했습니다. 죄송합니다. – Isuru

+0

Isuru, 잠시 동안 알고 있지만이 문제에 대한 해결책을 찾았습니까? – byron

+0

@byron 나는 해결책을 찾지 못했다고 생각합니다. 솔직히 나는 이것이 오래 전에 기억이 났었 기 때문에 나는 지금이 프로젝트에 접근 할 수 없다. 죄송합니다. – Isuru

답변

0

Xcode project - app의 url 스키마에 Facebook 애플리케이션 ID (앱 ID)를 추가했는지 확인하십시오. 그런 다음 fb 로그인 후 사용자를 페이지로 다시 리디렉션하십시오.

 - (void)webViewDidFinishLoad:(UIWebView *)webView 
      { 

      NSString *url = [[webView.request URL] absoluteString]; 

      // if([url hasPrefix:@"https://m.facebook.com/dialog/oauth"]) 
if([url hasPrefix:@"https://m.facebook.com/home.php?"]) 

      { 
      /* here you must implement method to send user to your page */ 
       [self backToMyPage]; 
      } 
      } 

      } 
+0

안녕하세요! 답장을 보내 주셔서 감사합니다. 나는이 방법을 시도하고 그것은 특정 상황에서만 작동하지만. 에서와 같이 Facebook에서 제공하는 원래 로그인 버튼을 사용하면이 방법이 작동합니다. fb 로그인에 사용자 정의 단추를 사용하면이 방법이 작동하지 않습니다. 이 시나리오를 보셨습니까? – Isuru

관련 문제