1

この質問は重複しているように見えますが、どこにも良い答えが見つからないため、50%重複しています。

私の質問を3つの部分に分けましょう。

現在の状況: 電子メール、生年月日、性別、郵便番号を含むサインアップ画面を実装しました。
これは非常にうまく機能しています。iOS 5と6のFacebookとTwitterにも共有機能 ましたが、次の画面例に示すように
を実装したいと思い

Facebookでログイン

問題: iOS 5でFacebookを使用してログインを実装する方法を知りたいです。TwitterはiOS5および6と統合されているため、FacebookはiOS 6と統合されているため、大したことではありません(今のところそう思います)。iOS 5と6のTwitterとFacebookの両方に共有機能をすでに実装しているので、ログインを実装するためにさらに何をする必要があります。

私が返答するもの: 私が言ったように、私はサインアップ時に電子メール、生年月日、性別と郵便番号が必要です。FacebookやTwitterでログインを使用する場合、この情報を取得するにはどうすればよいですか。ユーザーがこのソーシャルサイトのこの情報を提供またはブロックしていない場合はどうすればよいですか。

ありがとう.......

4

2 に答える 2

5

この機能をアプリに実装した方法は次のとおりです。

  1. ここからiOS用のFacebookSDKをダウンロードします

  2. AppDelegate.hFacebookオブジェクトのプロパティを作成します。

    #import <UIKit/UIKit.h>
    #import "Facebook.h"
    
    @interface OutpearAppDelegate : NSObject <UIApplicationDelegate> {
        UIWindow *window;
        IBOutlet UINavigationController *navigationController;        
    }
    
    @property (nonatomic, retain) IBOutlet UINavigationController *navigationController;
    @property (nonatomic, retain) IBOutlet UIWindow *window;
    @property (nonatomic, retain) Facebook *facebook;
    +(DemoAppDelegate*)getAppDelegate;
    
  3. あなたのAppDelegate.m書き込みでこれ:

    synthesize facebook;
    

    そしてあなたのapplicationDidFinishLaunching方法でこれを書いてください:

    // Initialize Facebook with app ID
    facebook=[[Facebook alloc]initWithAppId:FB_APP_KEY andDelegate:nil];
    //here FB_AP_Key is your Facebook application key
    

    でリリースfacebookしますdealloc

  4. Facebookでログインしたい場合は、次の関数を記述します。

    - (void)loginWithFacbookIdClicked
    {
        [DemoAppDelegate getAppDelegate].facebook.sessionDelegate=self;
    
        if(isInternetAvailable)
        {
            if([[DemoAppDelegate getAppDelegate].facebook isSessionValid])
            {
                //[facebookIntegration getUserFacebookPersonalInfo];
                 NSLog("User already logined with facebook");
            }
            else
            {
                [[DemoAppDelegate getAppDelegate].facebook authorize:[NSArray arrayWithObjects:@"read_stream",
                                     @"publish_stream",
                                     @"email",
                                     @"user_birthday",
                                     @"friends_about_me",
                                     @"friends_activities",
                                     @"friends_likes",
                                     nil]];
            }
        }
        else
        {
           NSLog("No Internet Connection");
        }       
    }
    
  5. ログイン後、FacebookSDKデリゲートメソッドが自動的に呼び出されます。デリゲートメソッドで作業を行います。

    - (void)fbDidLogin
    {
       NSLog("Logged into Facebook");
       // Your logic goes here.   
    }
    
    -(void)fbDidNotLogin:(BOOL)cancelled
    {
        DLog(@"Login Cancelled");
    }
    
    -(void)fbDidExtendToken:(NSString *)accessToken expiresAt:(NSDate *)expiresAt
    {
    
    }
    
    -(void)fbSessionInvalidated
    {
    
    }
    
    -(void)fbDidLogout
    {
    
    }
    
于 2013-01-11T07:40:40.013 に答える
2

最も簡単な方法は、このリンクをgithubからプルすることです。いくつかのサンプルコードが含まれています。それはあなたがすぐに稼働するのに役立ちます。このFacebookチュートリアルこれもチェックしてください

于 2013-01-11T06:26:23.020 に答える