2

모든 버전의 Facebook 로그인을 iOS 앱에 통합하는 방법은 무엇입니까?iOS Facebook 로그인 튜토리얼

완전한 해결책없이 Google과 GitHub를 몇 시간 동안 닦았습니다. 또한 Facebook의 모든 설명서를 읽고 ios-facebook 샘플 코드를 분석했습니다. 나는> iOS6 이상의 작동 버전을 가지고 있지만 그 아래의 어떤 것도 충돌 할 것입니다 (ACAccountStore는 존재하지 않습니다). 현재 LBFacebook이라는 라이브러리를 사용하여 로그인하고 있습니다. 유일한 단점은 iOS5에서 작동하지 않는다는 것입니다.

나는 머리카락을 꺼냈다. FacebookSDK는 매 2 주마다 바뀝니다. 이 일을 한 번에 끝내는 것은 기적입니다.

+3

"모든 버전"은 무엇인가요? IOS? 페이스 북? 모든 iPhone이 출하 *되었습니다 *? –

답변

5

Facebook SDK 3.1은 이전 버전과 호환됩니다. 그것은 순서로 인증을 시도합니다 (설치된 경우) 페이스 북 앱을 통해

  1. 계정 프레임 워크 (ACAccount)
  2. 웹 브라우저를 통해
  3. (옛날 방식)

내가 확인할 수 있습니다 그것은 오래된 아이폰 OS 버전에서 저에게 잘 작동합니다. ACAccountStore가 존재하지 않는다는 오류가 발생하면 잘못된 결과가 발생합니다. 당신이 이전에 로그인하지 않은 경우

, 네이티브 로그인 모달 대화 상자가 나타납니다 아이폰 OS의 버전에 따라 iOS 용 페이스 북으로 리디렉션하거나 리디렉션 : 문서에서 사파리의 페이스 북은 인증 흐름을 완료합니다.

here을 참조하십시오. 다른 iOS 버전에서의 모습을 보여줍니다.

전체 자습서는 here을 참조하십시오.

+0

감사합니다. 나는 그것을 마침내 얻을 수있었습니다. 이 모든 것은 FBLoginView에 달려 있습니다. FBLoginView는 프로젝트를 정리할 때까지 나타나지 않았습니다. – user2247438

2
NSString *strName= @"Mohit Thatai"; 
    FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init]; 
    [login 
    logInWithReadPermissions: @[@"public_profile", @"email"] 
    handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) { 
     if (error) 
     { 
      NSLog(@"Error"); 
     } 
     else if (result.isCancelled) 
     { 
      NSLog(@"Cancell"); 
     } 
     else 
     { 
    NSLog(@"Login Sucessfull"); 
// Share link text on face book 
     FBSDKShareLinkContent *content = [[FBSDKShareLinkContent alloc] init]; 
      [content setContentTitle:@"GPS Tracker"]; 
      [content setContentDescription:[NSString stringWithFormat:@"%@ shared an interesting link\n  This might be interesting to you: GPS Tracker for Kids",strName]]; 
content.contentURL = [NSURL URLWithString:[NSString stringWithFormat:@"http://gpsphonetrackerkids.com"]]; 
      [FBSDKShareDialog showFromViewController:self 
             withContent:content 
              delegate:nil]; 
     } 
    }];