2017-12-20 18 views
0

Facebook 로그인을 Objective C 기반 응용 프로그램에 통합하려고합니다. 모든 단일 구성은 Facebook 개발자 문서에서 완료되었습니다.Facebook 로그인 빈 페이지 iOS 응용 프로그램

문제는 로그인보기 대신 빈보기가 표시된다는 것입니다. 이것은 모든 장치와 시뮬레이터에서도 발생합니다.

누군가이 문제를 해결하는 데 도움을 줄 수 있습니까?

FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init]; 
    [login 
    logInWithReadPermissions: @[@"public_profile",@"email"] 
    fromViewController:self 
    handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) { 
     if (error) { 
      NSLog(@"Process error"); 
     } else if (result.isCancelled) { 
      NSLog(@"Cancelled"); 
     } else { 
      NSLog(@"Logged in"); 
     } 
    }]; 

PLIST 구성

<dict> 
      <key>CFBundleTypeRole</key> 
      <string>Editor</string> 
      <key>CFBundleURLSchemes</key> 
      <array> 
       <string>fbXXXXXXXXXXXXXX</string> 
      </array> 
</dict> 

<key>FacebookAppID</key> 
    <string>XXXXXXXXXXXX</string> 
    <key>FacebookDisplayName</key> 
    <string>App Name Here</string> 

    <key>LSApplicationQueriesSchemes</key> 
    <array> 
     <string>fbapi</string> 
     <string>fbauth2</string> 
    </array> 

감사 enter image description here

+0

당신이 –

+0

@Sh_Khan 그냥 표준 로그인 코드로 질문을 업데이트 코드를 공유 할 수는 –

+0

시도 이러한 추가를 snnipet) 당신의보기 컨트롤러에 로그인 버튼을 추가하는 것을 잊어 버린 것 같아요 –

답변

0

마지막으로 해결책을 얻었습니다. 네이티브 앱에서 로그인 동작을 FBSDKLoginBehaviorWeb 작품으로 변경하십시오. VAR loginButton = FBSDKLoginButton() loginButton.center = self.view.center self.view.addSubview (loginButton :

0

나는이 빠른에 알고 있지만 그것을 변환하려고, 나

<key>FacebookAppID</key> 
<string>id_Here</string> 
<key>FacebookDisplayName</key> 
<string>YourAppName</string> 

<key>CFBundleURLTypes</key> 
<array> 
    <dict> 
     <key>CFBundleURLSchemes</key> 
     <array> 
      <string>fb_id_Here</string>   
     </array> 
    </dict> 
</array> 

<key>NSAppTransportSecurity</key> 
<dict> 
    <key>NSAllowsArbitraryLoads</key> 
    <true/> 
</dict> 



    let facebookLogin = FBSDKLoginManager() 

    facebookLogin.logOut()   

    facebookLogin.logIn(withReadPermissions: ["public_profile","email", "user_friends"], from:self, handler: 
     { 


      (facebookResult, facebookError) -> Void in 


      let requestMe:FBSDKGraphRequest = FBSDKGraphRequest.init(graphPath: "/me", parameters: ["fields": "id,email, first_name, last_name, gender, picture"]) 


      let connection : FBSDKGraphRequestConnection = FBSDKGraphRequestConnection() 



      connection.add(requestMe, completionHandler: { (con, results, error) in 

       //access_token 

       if ((error) == nil) 

       { 

        print("fname is 20 : \(results!)") 



       } 
       else 

       { 


       } 

      }) 


      connection.start() 

      if facebookError != nil 
      { 
       print("Facebook login failed. Error \(String(describing: facebookError))") 
      } 
      else if (facebookResult?.isCancelled)! 
      { 

       print("Facebook login was cancelled.") 

      } 
      else 
      { 


      } 
    }) 

앱 위임

와 함께 완벽하게 작동
// 9 and later 


func application(_ app: UIApplication, 
       open url: URL, 
       options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool 

{ 

    if #available(iOS 9.0, *) { 
     let sourceApplication: String? = options[UIApplicationOpenURLOptionsKey.sourceApplication] as? String 


      return FBSDKApplicationDelegate.sharedInstance().application(app, open: url, sourceApplication: sourceApplication, annotation: nil) 

    } 
    else 
    { 


      print("cvcvcvcvcvcvcc") 


     } 

    return true 

    } 

//ios 8 

public func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool { 


    print("qoqpqpqpqpqpqpqpqppq45") 

    return FBSDKApplicationDelegate.sharedInstance().application(application, open: url as URL!, sourceApplication: sourceApplication, annotation: annotation) 


} 
+0

이 모양은 Objective C 버전과 매우 비슷합니다. 실제로 코드가 아닌 어딘가에 문제가 발생합니다. –

+0

Safari에서 페이스 북 앱 또는 로그 아웃을 다운로드하십시오. –

+0

같은 문제, 운행 없음 –