2013-01-11 62 views
1

這個問題看起來重複,你是50%重複,因爲沒有好的答案,我發現任何地方。實施使用iOS 5和iOS 6的Facebook登錄

讓我把問題分成三部分。

現狀: 我已經實現了註冊屏幕,電子郵件,生日,性別和郵政編碼的日期。
這工作非常好。我也實現共享功能在Facebook和Twitter在iOS 5及6
但現在我想與Facebook和Twitter來實現它就像在下面的例子中屏幕顯示

Login With Facebook

是什麼問題: 我想知道如何在iOS 5中實現與Facebook的登錄。twitter與ios 5和6,iOS 6的Facebook集成在一起,這不是什麼大問題(現在我認爲是這樣)。我已經爲iOS 5的推特和臉書推出了共享功能。6.所以我還需要做些什麼才能實現登錄。

我得到什麼迴應: 正如我所說的,我需要通過電子郵件,生日,性別和郵政編碼的日期在註冊的時候。 如果我使用facebook和twitter登錄,我如何獲得這些信息。 如果用戶沒有提供或阻止此社交網站的這些信息,我該怎麼做。

謝謝.......

回答

5

這裏是我是如何實現這個功能在我的應用程序:

  1. 下載了Facebook SDK適用於iOS從here

  2. 在你AppDelegate.h作出的屬性Facebook對象。

    #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 
    

    dealloc

  4. 如果你想釋放facebook與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. 登錄後,Facebook的SDK委託方法被自動調用。在委託方法中做你的事情。

    - (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 
    { 
    
    } 
    
+0

我正在使用您的代碼進行Facebook註冊並上傳狀態。它的工作正常。感謝它。但現在我想通過iOS應用程序使用您的代碼來提供Feed。你能給我一些建議嗎?提前致謝。 –

2

最簡單的方法就是從GitHub拉這個link。它包含一些示例代碼。這將幫助您立即開始運行。還檢查了這個Facebook的tutorialthis

+0

它看起來的幫助,全讓我檢查一下。 – CRDave