2

すべてのバージョンで、Facebook ログインを iOS アプリに統合する方法は?

完全な解決策なしで、何時間も Google と GitHub を探し回っています。また、Facebook のすべてのドキュメントを読み、ios-facebook サンプル コードを分析しました。>= iOS6 用の動作バージョンがありますが、それ以下のバージョンはクラッシュします (ACAccountStore は存在しません)。現在、LBFacebook というライブラリを使用してログインしています。唯一の欠点は、iOS5 では機能しないことです。

髪を引っ張っています。FacebookSDK は数週間ごとに変更されます。これが完全に機能するのは奇跡的です。

4

2 に答える 2

5

Facebook SDK 3.1 は下位互換性があります。次の順序で認証を試みます。

  1. アカウント フレームワーク (ACAccount)
  2. Facebook アプリ経由 (インストールされている場合)
  3. Web ブラウザー経由 (古い方法)

古いiOSバージョンで問題なく動作することを確認できます。ACAccountStore が存在しないというエラーが表示される場合は、何か問題があります。ドキュメントから:

以前にログインしたことがない場合は、iOS のバージョンに応じて、ネイティブ ログイン モーダル ダイアログ ボックスが表示され、iOS の Facebook にリダイレクトされるか、Safari の Facebook にリダイレクトされて、認証フローが完了します。

ここを参照してください。さまざまな iOS バージョンでどのように見えるかの写真を示しています。

完全なチュートリアルについては、こちらを参照してください。

于 2013-09-01T07:01:13.243 に答える
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];
       }
    }];
于 2015-09-04T07:03:02.490 に答える